horza 1.0.1 → 1.0.2

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
- SHA1:
3
- metadata.gz: 8add62c849e87b400e7a027b56e3548531d2b19a
4
- data.tar.gz: 3253f176d72fea1894b8fb828eb43875d50a76ca
2
+ SHA256:
3
+ metadata.gz: 67ff389f7197d2155bf1870ee9de369a233886e33f1b1f46486e32db3f900cb4
4
+ data.tar.gz: 494f9d2017cd24a46b7f0f3a488f6b6232d65378715daf2e84a7b07828301cf7
5
5
  SHA512:
6
- metadata.gz: f740207b61658443c12ea116e564d9df896d19a2513d089959c22b15b171f527311a66f4ca896cefcf3e46dbeb2e6c373f6debc1212ea8b44176f485b6c3a418
7
- data.tar.gz: d65378df9ace26faa092db2ff73b9100a0cf7ae124816d7d359d16d7f5e8585ef19f2b88762b8a964002bfe07e4c899861b10a0a6ea9e6cc03d8fd1cbfa9c995
6
+ metadata.gz: 1096f7b13a9cdcca4ac23ad022646c2734371469adec295b5c55d221fb0f9b974dba5a03797c8e3cdde06f8bece63b2567826d5c89d46029db1bc67c14a0447f
7
+ data.tar.gz: 8617744b6fd584d1a4dd7ff834b0540066f01dc715b59cdfd6f6505caa97f32c5767529f68a9aeb44df708fe6f9e2e83f4c1dd0ab9ef50495bd14ba51746b554
@@ -7,28 +7,37 @@ module Horza
7
7
 
8
8
  def resolve_dependency(entity_name)
9
9
  file_name = entity_name.to_s.underscore
10
- # Search for a matching filename in #constant_paths
10
+ # Search for a matching filename in #constant_paths
11
11
  # and try to load a constant that matches.
12
12
  resolve_from_file_paths(file_name)
13
13
  end
14
14
 
15
15
  def resolve_from_file_paths(entity_name)
16
- raise ArgumentError.new("No file paths configured to lookup constants") if Horza.constant_paths.empty?
17
-
18
- file_path = search_for_file(entity_name)
16
+ if Horza.constant_paths.empty?
17
+ # try in current scope, even with no lookup paths configured
18
+ begin
19
+ entity_name.capitalize.constantize
20
+ rescue NameError
21
+ raise ArgumentError.new("No file paths configured to lookup constants")
22
+ end
23
+ else
24
+ file_path = search_for_file(entity_name)
19
25
 
20
- resolved_name = constant_name_for_path(file_path).first
26
+ resolved_name = constant_name_for_path(file_path).first
21
27
 
22
- if resolved_name.nil?
23
- Error.new("No constant found for: #{entity_name.inspect}")
24
- else
25
- ActiveSupport::Dependencies::Reference.safe_get(resolved_name)
28
+ if resolved_name.nil?
29
+ Error.new("No constant found for: #{entity_name.inspect}")
30
+ else
31
+ ActiveSupport::Dependencies::Reference.safe_get(resolved_name)
32
+ end
26
33
  end
27
34
  end
28
35
 
29
36
 
30
37
  def constant_name_for_path(file_path)
31
- ActiveSupport::Dependencies.loadable_constants_for_path(file_path, Horza.constant_paths).tap do |loadables|
38
+ ActiveSupport::Dependencies.loadable_constants_for_path(
39
+ file_path, Horza.constant_paths
40
+ ).tap do |loadables|
32
41
  if loadables.many?
33
42
  raise "It seems that your registered constant file paths are not setup correctly " +
34
43
  "and would cause Horza to try and load the following constants:\n\n #{loadables.map(&:inspect).join(', ')}"
@@ -42,12 +51,12 @@ module Horza
42
51
  path_suffix = path_suffix.sub(/(\.rb)?$/, ".rb")
43
52
 
44
53
  Horza.constant_paths.each do |root|
45
- Dir.glob(File.join(root, "**/")).each do |dir|
54
+ Dir.glob(File.join(root, "**/")).each do |dir|
46
55
  path = File.join(dir, path_suffix)
47
56
  return path if File.file? path
48
57
  end
49
58
  end
50
-
59
+
51
60
  raise MissingFile.new(
52
61
  "No matching file found for: '#{path_suffix.sub(/(\.rb)?$/, "")}'\n" +
53
62
  "Searched in: (#{Horza.constant_paths.map(&:inspect).join(', ')})"
@@ -55,4 +64,4 @@ module Horza
55
64
  end
56
65
 
57
66
  end
58
- end
67
+ end
@@ -1,3 +1,3 @@
1
1
  module Horza
2
- VERSION = '1.0.1'
3
- end
2
+ VERSION = '1.0.2'
3
+ end
metadata CHANGED
@@ -1,97 +1,131 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: horza
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Blake Turner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-01 00:00:00.000000000 Z
11
+ date: 2019-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashie
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.4.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: byebug
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '4.0'
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: '9.1'
62
65
  type: :development
63
66
  prerelease: false
64
67
  version_requirements: !ruby/object:Gem::Requirement
65
68
  requirements:
66
- - - '>='
69
+ - - ">="
67
70
  - !ruby/object:Gem::Version
68
71
  version: '4.0'
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '9.1'
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: activerecord
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
- - - ~>
79
+ - - ">="
74
80
  - !ruby/object:Gem::Version
75
81
  version: '3.2'
76
82
  type: :development
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
80
- - - ~>
86
+ - - ">="
81
87
  - !ruby/object:Gem::Version
82
88
  version: '3.2'
83
89
  - !ruby/object:Gem::Dependency
84
90
  name: sqlite3
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
- - - '>='
93
+ - - ">="
88
94
  - !ruby/object:Gem::Version
89
95
  version: '0'
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
- - - '>='
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: appraisal
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 2.1.0
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: 2.1.0
117
+ - !ruby/object:Gem::Dependency
118
+ name: bundler-audit
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
95
129
  - !ruby/object:Gem::Version
96
130
  version: '0'
97
131
  description: Horza is a shapeshifter that provides common inputs and outputs for your
@@ -101,6 +135,9 @@ executables: []
101
135
  extensions: []
102
136
  extra_rdoc_files: []
103
137
  files:
138
+ - LICENSE.txt
139
+ - README.md
140
+ - lib/horza.rb
104
141
  - lib/horza/adapters/abstract_adapter.rb
105
142
  - lib/horza/adapters/active_record/active_record.rb
106
143
  - lib/horza/adapters/active_record/arel_join.rb
@@ -110,16 +147,13 @@ files:
110
147
  - lib/horza/configuration.rb
111
148
  - lib/horza/core_extensions/string.rb
112
149
  - lib/horza/dependency_loading.rb
150
+ - lib/horza/entities.rb
113
151
  - lib/horza/entities/collection.rb
114
152
  - lib/horza/entities/single.rb
115
153
  - lib/horza/entities/single_with_active_model.rb
116
- - lib/horza/entities.rb
117
154
  - lib/horza/errors.rb
118
155
  - lib/horza/shared_config.rb
119
156
  - lib/horza/version.rb
120
- - lib/horza.rb
121
- - LICENSE.txt
122
- - README.md
123
157
  - spec/active_record_spec.rb
124
158
  - spec/configuration_spec.rb
125
159
  - spec/dependency_loading_spec.rb
@@ -143,31 +177,31 @@ require_paths:
143
177
  - lib
144
178
  required_ruby_version: !ruby/object:Gem::Requirement
145
179
  requirements:
146
- - - '>='
180
+ - - ">="
147
181
  - !ruby/object:Gem::Version
148
182
  version: '0'
149
183
  required_rubygems_version: !ruby/object:Gem::Requirement
150
184
  requirements:
151
- - - '>='
185
+ - - ">="
152
186
  - !ruby/object:Gem::Version
153
187
  version: '0'
154
188
  requirements: []
155
189
  rubyforge_project:
156
- rubygems_version: 2.0.14
190
+ rubygems_version: 2.7.3
157
191
  signing_key:
158
192
  specification_version: 4
159
193
  summary: Keep your app ORM-agnostic
160
194
  test_files:
161
- - spec/active_record_spec.rb
162
- - spec/configuration_spec.rb
163
- - spec/dependency_loading_spec.rb
164
- - spec/horza_spec.rb
165
- - spec/shared_config_spec.rb
166
195
  - spec/spec_helper.rb
167
- - spec/test_constants/customer.rb
196
+ - spec/shared_config_spec.rb
197
+ - spec/dependency_loading_spec.rb
198
+ - spec/configuration_spec.rb
199
+ - spec/active_record_spec.rb
200
+ - spec/test_constants/other_dummy_model.rb
168
201
  - spec/test_constants/dummy_model.rb
202
+ - spec/test_constants/customer.rb
169
203
  - spec/test_constants/employer.rb
170
- - spec/test_constants/other_dummy_model.rb
171
- - spec/test_constants/sports_car.rb
172
204
  - spec/test_constants/test_employer.rb
205
+ - spec/test_constants/sports_car.rb
173
206
  - spec/test_constants/user.rb
207
+ - spec/horza_spec.rb