class JkoApi::Versioning
Public Class Methods
new(context, &block)
click to toggle source
# File lib/jko_api/versioning.rb, line 3 def initialize(context, &block) @context, @definitions = context, {} instance_eval &block end
Public Instance Methods
max_version_number()
click to toggle source
# File lib/jko_api/versioning.rb, line 23 def max_version_number @definitions.keys.max end
min_version_number()
click to toggle source
# File lib/jko_api/versioning.rb, line 19 def min_version_number @definitions.keys.min end
version(number, &block)
click to toggle source
# File lib/jko_api/versioning.rb, line 8 def version(number, &block) @definitions[number] = block || Proc.new {} @context.scope module: "v#{number}", constraints: ->(*) { JkoApi.current_version_number == number } do number.downto(min_version_number) do |i| @context.instance_eval &@definitions[i] end end end