Sha256: 0447bb368ee45f83b9f01d5405ff428f16fec03cb6fcec703d27551325998d5d
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
require 'active_support/core_ext/string/inflections.rb' module VersionCake class ExtractionStrategy def extract(request) version = execute(request) if version.is_a?(Fixnum) version elsif version.is_a?(String) && /[0-9]+/.match(version) version.to_i else nil end end def version_key VersionCake::Railtie.config.versioncake.version_key end def execute(request) raise Exception, "ExtractionStrategy requires execute to be implemented" end def self.lookup(strategy) if strategy.class == Proc if strategy.arity == 1 VersionCake::CustomStrategy.new(strategy) else raise Exception, "Custom extraction strategy requires a single parameter" end else strategy_name = "#{strategy}_strategy".camelize begin VersionCake.const_get(strategy_name).new rescue raise Exception, "Unknown VersionCake extraction strategy #{strategy_name}" end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
versioncake-2.2.0 | lib/versioncake/strategies/extraction_strategy.rb |