jko_api 0.2.6 → 0.2.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9f01d58d5016eedecc97391ef6da83dd6d5e56c9
4
- data.tar.gz: d24affd846cb89d45d9899b33891a9d18f9e562a
3
+ metadata.gz: def5a6888ceec83c82b7d42705feeb901978bfe6
4
+ data.tar.gz: 296866d4aaf9b5b08e6f819c9e7f1c23a57ec64d
5
5
  SHA512:
6
- metadata.gz: 91d37df768d9481fae199606c1eb5aa93402aad72aa8a44e069bc032630c0a98f813bab3cba1c3ff4f56c96c2d563a8f20ad5e30a76d4e3caa72d4b471721a3c
7
- data.tar.gz: 34d59881da9d228f8b1d3c06d892c0c50a71cd153a8b72c6906002f4ae63f3fc1e31ec6f9e628bb2afa802af0a21d19741517c8085916a0439664531cd70acca
6
+ metadata.gz: 275184031ebb07f89eb0d75385ed586d666d2da619a02aadcfe589568791c64d63d737e78101032bb1e34899b29d624cff3d22ab377abc81a95d425136467a2f
7
+ data.tar.gz: 3a63fae9e3a2e2a9d6e626991ee0df9bcbcc116a41afdced4833befda7c48ed5436b3aa43875d44e6a7e0135ea86dc07cb3e33f56b73430cda733a9436d8a9cf
@@ -21,6 +21,6 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", ">= 1.7"
22
22
  spec.add_development_dependency "rake", ">= 10.0"
23
23
  spec.add_dependency "responders", "2.4.0"
24
- spec.add_dependency "rails", ">= 4.2.7", "< 5.1.1"
24
+ spec.add_dependency "rails", ">= 4.2.7", "<= 5.1.4"
25
25
  spec.add_dependency "warden-oauth2"
26
26
  end
@@ -16,8 +16,8 @@ module JkoApi
16
16
 
17
17
  def build
18
18
  initial_level.upto(upto) do |level|
19
- unless Module.const_defined?(swap_level(level.next))
20
- build_descendant level
19
+ unless Module.const_defined?(swap_level(level))
20
+ build_descendant level.pred
21
21
  end
22
22
  end
23
23
  end
@@ -25,16 +25,16 @@ module JkoApi
25
25
  private
26
26
 
27
27
  def build_descendant(level)
28
- namespace(level.next).const_set(
29
- swap_level(level.next).demodulize,
30
- Class.new(swap_level(level).constantize)
28
+ namespace(level).const_set(
29
+ swap_level(level).demodulize,
30
+ Class.new(swap_level(level.next).constantize)
31
31
  )
32
32
  end
33
33
 
34
34
  def namespace(level)
35
35
  deconstantized = swap_level(level).deconstantize
36
- unless Module.const_defined?(deconstantized)
37
- Module.qualified_const_set deconstantized, Module.new
36
+ unless qualified_const_defined?(deconstantized)
37
+ qualified_const_set(deconstantized, Module.new)
38
38
  end
39
39
  deconstantized.constantize
40
40
  end
@@ -46,5 +46,35 @@ module JkoApi
46
46
  def initial_level
47
47
  descendant.name[LEVEL_REGEX].to_i
48
48
  end
49
+
50
+ # Pulled from Rails 4.2 source
51
+ def qualified_const_defined?(path)
52
+ raise NameError, "#{path.inspect} is not a valid constant name!" unless /^(::)?([A-Z]\w*)(::[A-Z]\w*)*$/ =~ path
53
+
54
+ names = path.to_s.split('::')
55
+ names.shift if names.first.empty?
56
+
57
+ # We can't use defined? because it will invoke const_missing for the parent
58
+ # of the name we are checking.
59
+ names.inject(Module) do |mod, name|
60
+ return false unless mod.const_defined?(name, false)
61
+ mod.const_get name
62
+ end
63
+ return true
64
+ end
65
+
66
+ def qualified_const_set(path, value)
67
+ raise NameError.new("wrong constant name #$&") if path =~ /\A::[^:]+/
68
+ const_name = path.demodulize
69
+ mod_name = path.deconstantize
70
+ mod = mod_name.empty? ? self : qualified_const_get(mod_name)
71
+ mod.const_set(const_name, value) unless mod.const_defined?(const_name)
72
+ end
73
+
74
+ def qualified_const_get(path)
75
+ path.split('::').inject(Module) do |mod, name|
76
+ mod.const_get(name)
77
+ end
78
+ end
49
79
  end
50
80
  end
@@ -1,3 +1,3 @@
1
1
  module JkoApi
2
- VERSION = "0.2.6"
2
+ VERSION = "0.2.7.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jko_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Woertink
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-08 00:00:00.000000000 Z
11
+ date: 2018-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -59,9 +59,9 @@ dependencies:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: 4.2.7
62
- - - "<"
62
+ - - "<="
63
63
  - !ruby/object:Gem::Version
64
- version: 5.1.1
64
+ version: 5.1.4
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,9 +69,9 @@ dependencies:
69
69
  - - ">="
70
70
  - !ruby/object:Gem::Version
71
71
  version: 4.2.7
72
- - - "<"
72
+ - - "<="
73
73
  - !ruby/object:Gem::Version
74
- version: 5.1.1
74
+ version: 5.1.4
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: warden-oauth2
77
77
  requirement: !ruby/object:Gem::Requirement