nxt_support 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -0
- data/Gemfile.lock +86 -81
- data/README.md +26 -3
- data/lib/nxt_support.rb +1 -0
- data/lib/nxt_support/models/safely_find_or_createable.rb +16 -18
- data/lib/nxt_support/util.rb +1 -0
- data/lib/nxt_support/util/enum_hash.rb +27 -0
- data/lib/nxt_support/version.rb +1 -1
- data/nxt_support.gemspec +5 -4
- metadata +23 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e2e9bc399563fcfba0a583d25022018b68a6f5041606d3751a1ad68f9253a62b
|
|
4
|
+
data.tar.gz: 6683f7e84615d951c4d2f57736ab8b1a1c3a5c4d4f77a668a8a3a774afa06572
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 44ac6bd228b5d74ae962ac4d58797141858d917a42e733746418c527b7c420cecae82534ad009eca117fcfc2b8a55ab1355a5d1d7887c4d836df66b942df9d08
|
|
7
|
+
data.tar.gz: 8277a6be281c241668ab376c26fff2a72c3e580594c180049232d22ef58a2a442de60937a7e5fc51ed6b9ef07ae7c47c53ba1e1baffe87b81b99e1a3c2a54706
|
data/CHANGELOG.md
ADDED
data/Gemfile.lock
CHANGED
|
@@ -1,77 +1,78 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
nxt_support (0.1.
|
|
4
|
+
nxt_support (0.1.1)
|
|
5
5
|
rails
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
actioncable (6.0.
|
|
11
|
-
actionpack (= 6.0.
|
|
10
|
+
actioncable (6.0.2.1)
|
|
11
|
+
actionpack (= 6.0.2.1)
|
|
12
12
|
nio4r (~> 2.0)
|
|
13
13
|
websocket-driver (>= 0.6.1)
|
|
14
|
-
actionmailbox (6.0.
|
|
15
|
-
actionpack (= 6.0.
|
|
16
|
-
activejob (= 6.0.
|
|
17
|
-
activerecord (= 6.0.
|
|
18
|
-
activestorage (= 6.0.
|
|
19
|
-
activesupport (= 6.0.
|
|
14
|
+
actionmailbox (6.0.2.1)
|
|
15
|
+
actionpack (= 6.0.2.1)
|
|
16
|
+
activejob (= 6.0.2.1)
|
|
17
|
+
activerecord (= 6.0.2.1)
|
|
18
|
+
activestorage (= 6.0.2.1)
|
|
19
|
+
activesupport (= 6.0.2.1)
|
|
20
20
|
mail (>= 2.7.1)
|
|
21
|
-
actionmailer (6.0.
|
|
22
|
-
actionpack (= 6.0.
|
|
23
|
-
actionview (= 6.0.
|
|
24
|
-
activejob (= 6.0.
|
|
21
|
+
actionmailer (6.0.2.1)
|
|
22
|
+
actionpack (= 6.0.2.1)
|
|
23
|
+
actionview (= 6.0.2.1)
|
|
24
|
+
activejob (= 6.0.2.1)
|
|
25
25
|
mail (~> 2.5, >= 2.5.4)
|
|
26
26
|
rails-dom-testing (~> 2.0)
|
|
27
|
-
actionpack (6.0.
|
|
28
|
-
actionview (= 6.0.
|
|
29
|
-
activesupport (= 6.0.
|
|
30
|
-
rack (~> 2.0)
|
|
27
|
+
actionpack (6.0.2.1)
|
|
28
|
+
actionview (= 6.0.2.1)
|
|
29
|
+
activesupport (= 6.0.2.1)
|
|
30
|
+
rack (~> 2.0, >= 2.0.8)
|
|
31
31
|
rack-test (>= 0.6.3)
|
|
32
32
|
rails-dom-testing (~> 2.0)
|
|
33
33
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
|
34
|
-
actiontext (6.0.
|
|
35
|
-
actionpack (= 6.0.
|
|
36
|
-
activerecord (= 6.0.
|
|
37
|
-
activestorage (= 6.0.
|
|
38
|
-
activesupport (= 6.0.
|
|
34
|
+
actiontext (6.0.2.1)
|
|
35
|
+
actionpack (= 6.0.2.1)
|
|
36
|
+
activerecord (= 6.0.2.1)
|
|
37
|
+
activestorage (= 6.0.2.1)
|
|
38
|
+
activesupport (= 6.0.2.1)
|
|
39
39
|
nokogiri (>= 1.8.5)
|
|
40
|
-
actionview (6.0.
|
|
41
|
-
activesupport (= 6.0.
|
|
40
|
+
actionview (6.0.2.1)
|
|
41
|
+
activesupport (= 6.0.2.1)
|
|
42
42
|
builder (~> 3.1)
|
|
43
43
|
erubi (~> 1.4)
|
|
44
44
|
rails-dom-testing (~> 2.0)
|
|
45
45
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
|
46
|
-
activejob (6.0.
|
|
47
|
-
activesupport (= 6.0.
|
|
46
|
+
activejob (6.0.2.1)
|
|
47
|
+
activesupport (= 6.0.2.1)
|
|
48
48
|
globalid (>= 0.3.6)
|
|
49
|
-
activemodel (6.0.
|
|
50
|
-
activesupport (= 6.0.
|
|
51
|
-
activerecord (6.0.
|
|
52
|
-
activemodel (= 6.0.
|
|
53
|
-
activesupport (= 6.0.
|
|
54
|
-
activestorage (6.0.
|
|
55
|
-
actionpack (= 6.0.
|
|
56
|
-
activejob (= 6.0.
|
|
57
|
-
activerecord (= 6.0.
|
|
49
|
+
activemodel (6.0.2.1)
|
|
50
|
+
activesupport (= 6.0.2.1)
|
|
51
|
+
activerecord (6.0.2.1)
|
|
52
|
+
activemodel (= 6.0.2.1)
|
|
53
|
+
activesupport (= 6.0.2.1)
|
|
54
|
+
activestorage (6.0.2.1)
|
|
55
|
+
actionpack (= 6.0.2.1)
|
|
56
|
+
activejob (= 6.0.2.1)
|
|
57
|
+
activerecord (= 6.0.2.1)
|
|
58
58
|
marcel (~> 0.3.1)
|
|
59
|
-
activesupport (6.0.
|
|
59
|
+
activesupport (6.0.2.1)
|
|
60
60
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
61
61
|
i18n (>= 0.7, < 2)
|
|
62
62
|
minitest (~> 5.1)
|
|
63
63
|
tzinfo (~> 1.1)
|
|
64
|
-
zeitwerk (~> 2.
|
|
65
|
-
builder (3.2.
|
|
64
|
+
zeitwerk (~> 2.2)
|
|
65
|
+
builder (3.2.4)
|
|
66
|
+
coderay (1.1.2)
|
|
66
67
|
concurrent-ruby (1.1.5)
|
|
67
|
-
crass (1.0.
|
|
68
|
+
crass (1.0.6)
|
|
68
69
|
diff-lcs (1.3)
|
|
69
70
|
erubi (1.9.0)
|
|
70
71
|
globalid (0.4.2)
|
|
71
72
|
activesupport (>= 4.2.0)
|
|
72
|
-
i18n (1.
|
|
73
|
+
i18n (1.8.2)
|
|
73
74
|
concurrent-ruby (~> 1.0)
|
|
74
|
-
loofah (2.
|
|
75
|
+
loofah (2.4.0)
|
|
75
76
|
crass (~> 1.0.2)
|
|
76
77
|
nokogiri (>= 1.5.9)
|
|
77
78
|
mail (2.7.1)
|
|
@@ -79,74 +80,77 @@ GEM
|
|
|
79
80
|
marcel (0.3.3)
|
|
80
81
|
mimemagic (~> 0.3.2)
|
|
81
82
|
method_source (0.9.2)
|
|
82
|
-
mimemagic (0.3.
|
|
83
|
+
mimemagic (0.3.4)
|
|
83
84
|
mini_mime (1.0.2)
|
|
84
85
|
mini_portile2 (2.4.0)
|
|
85
|
-
minitest (5.
|
|
86
|
+
minitest (5.14.0)
|
|
86
87
|
nio4r (2.5.2)
|
|
87
|
-
nokogiri (1.10.
|
|
88
|
+
nokogiri (1.10.7)
|
|
88
89
|
mini_portile2 (~> 2.4.0)
|
|
89
|
-
|
|
90
|
+
pry (0.12.2)
|
|
91
|
+
coderay (~> 1.1.0)
|
|
92
|
+
method_source (~> 0.9.0)
|
|
93
|
+
rack (2.1.2)
|
|
90
94
|
rack-test (1.1.0)
|
|
91
95
|
rack (>= 1.0, < 3)
|
|
92
|
-
rails (6.0.
|
|
93
|
-
actioncable (= 6.0.
|
|
94
|
-
actionmailbox (= 6.0.
|
|
95
|
-
actionmailer (= 6.0.
|
|
96
|
-
actionpack (= 6.0.
|
|
97
|
-
actiontext (= 6.0.
|
|
98
|
-
actionview (= 6.0.
|
|
99
|
-
activejob (= 6.0.
|
|
100
|
-
activemodel (= 6.0.
|
|
101
|
-
activerecord (= 6.0.
|
|
102
|
-
activestorage (= 6.0.
|
|
103
|
-
activesupport (= 6.0.
|
|
96
|
+
rails (6.0.2.1)
|
|
97
|
+
actioncable (= 6.0.2.1)
|
|
98
|
+
actionmailbox (= 6.0.2.1)
|
|
99
|
+
actionmailer (= 6.0.2.1)
|
|
100
|
+
actionpack (= 6.0.2.1)
|
|
101
|
+
actiontext (= 6.0.2.1)
|
|
102
|
+
actionview (= 6.0.2.1)
|
|
103
|
+
activejob (= 6.0.2.1)
|
|
104
|
+
activemodel (= 6.0.2.1)
|
|
105
|
+
activerecord (= 6.0.2.1)
|
|
106
|
+
activestorage (= 6.0.2.1)
|
|
107
|
+
activesupport (= 6.0.2.1)
|
|
104
108
|
bundler (>= 1.3.0)
|
|
105
|
-
railties (= 6.0.
|
|
109
|
+
railties (= 6.0.2.1)
|
|
106
110
|
sprockets-rails (>= 2.0.0)
|
|
107
111
|
rails-dom-testing (2.0.3)
|
|
108
112
|
activesupport (>= 4.2.0)
|
|
109
113
|
nokogiri (>= 1.6)
|
|
110
|
-
rails-html-sanitizer (1.
|
|
111
|
-
loofah (~> 2.
|
|
112
|
-
railties (6.0.
|
|
113
|
-
actionpack (= 6.0.
|
|
114
|
-
activesupport (= 6.0.
|
|
114
|
+
rails-html-sanitizer (1.3.0)
|
|
115
|
+
loofah (~> 2.3)
|
|
116
|
+
railties (6.0.2.1)
|
|
117
|
+
actionpack (= 6.0.2.1)
|
|
118
|
+
activesupport (= 6.0.2.1)
|
|
115
119
|
method_source
|
|
116
120
|
rake (>= 0.8.7)
|
|
117
121
|
thor (>= 0.20.3, < 2.0)
|
|
118
|
-
rake (
|
|
119
|
-
rspec (3.
|
|
120
|
-
rspec-core (~> 3.
|
|
121
|
-
rspec-expectations (~> 3.
|
|
122
|
-
rspec-mocks (~> 3.
|
|
123
|
-
rspec-core (3.
|
|
124
|
-
rspec-support (~> 3.
|
|
125
|
-
rspec-expectations (3.
|
|
122
|
+
rake (13.0.1)
|
|
123
|
+
rspec (3.9.0)
|
|
124
|
+
rspec-core (~> 3.9.0)
|
|
125
|
+
rspec-expectations (~> 3.9.0)
|
|
126
|
+
rspec-mocks (~> 3.9.0)
|
|
127
|
+
rspec-core (3.9.0)
|
|
128
|
+
rspec-support (~> 3.9.0)
|
|
129
|
+
rspec-expectations (3.9.0)
|
|
126
130
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
127
|
-
rspec-support (~> 3.
|
|
128
|
-
rspec-mocks (3.
|
|
131
|
+
rspec-support (~> 3.9.0)
|
|
132
|
+
rspec-mocks (3.9.0)
|
|
129
133
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
130
|
-
rspec-support (~> 3.
|
|
131
|
-
rspec-support (3.
|
|
134
|
+
rspec-support (~> 3.9.0)
|
|
135
|
+
rspec-support (3.9.0)
|
|
132
136
|
rspec_junit_formatter (0.4.1)
|
|
133
137
|
rspec-core (>= 2, < 4, != 2.12.0)
|
|
134
|
-
sprockets (
|
|
138
|
+
sprockets (4.0.0)
|
|
135
139
|
concurrent-ruby (~> 1.0)
|
|
136
140
|
rack (> 1, < 3)
|
|
137
141
|
sprockets-rails (3.2.1)
|
|
138
142
|
actionpack (>= 4.0)
|
|
139
143
|
activesupport (>= 4.0)
|
|
140
144
|
sprockets (>= 3.0.0)
|
|
141
|
-
sqlite3 (1.4.
|
|
142
|
-
thor (0.
|
|
145
|
+
sqlite3 (1.4.2)
|
|
146
|
+
thor (1.0.1)
|
|
143
147
|
thread_safe (0.3.6)
|
|
144
|
-
tzinfo (1.2.
|
|
148
|
+
tzinfo (1.2.6)
|
|
145
149
|
thread_safe (~> 0.1)
|
|
146
150
|
websocket-driver (0.7.1)
|
|
147
151
|
websocket-extensions (>= 0.1.0)
|
|
148
152
|
websocket-extensions (0.1.4)
|
|
149
|
-
zeitwerk (2.
|
|
153
|
+
zeitwerk (2.2.2)
|
|
150
154
|
|
|
151
155
|
PLATFORMS
|
|
152
156
|
ruby
|
|
@@ -154,10 +158,11 @@ PLATFORMS
|
|
|
154
158
|
DEPENDENCIES
|
|
155
159
|
bundler
|
|
156
160
|
nxt_support!
|
|
161
|
+
pry
|
|
157
162
|
rake
|
|
158
163
|
rspec
|
|
159
164
|
rspec_junit_formatter
|
|
160
165
|
sqlite3
|
|
161
166
|
|
|
162
167
|
BUNDLED WITH
|
|
163
|
-
2.
|
|
168
|
+
2.1.4
|
data/README.md
CHANGED
|
@@ -24,11 +24,11 @@ Or install it yourself as:
|
|
|
24
24
|
|
|
25
25
|
Here's an overview all the supporting features.
|
|
26
26
|
|
|
27
|
-
### NxtSupport
|
|
27
|
+
### NxtSupport/Models
|
|
28
28
|
|
|
29
29
|
Enjoy support for your models.
|
|
30
30
|
|
|
31
|
-
#### NxtSupport::
|
|
31
|
+
#### NxtSupport::SafelyFindOrCreateable
|
|
32
32
|
|
|
33
33
|
The `NxtSupport::Models::SafelyFindOrCreateable` concern is aimed at ActiveRecord models with a uniqueness database constraint. If you use `find_or_create_by` from ActiveRecord, it can happen that the `find_by` call returns `nil` (because no record for the given conditions exists), but in the small timeframe between the `find_by` and the `create` call, another thread inserts a record, so that the `create` call raises an error.
|
|
34
34
|
|
|
@@ -36,12 +36,35 @@ The `safely_find_or_create_by` method provided by this concern catches such an e
|
|
|
36
36
|
|
|
37
37
|
```ruby
|
|
38
38
|
class Book < ApplicationRecord
|
|
39
|
-
include NxtSupport::
|
|
39
|
+
include NxtSupport::SafelyFindOrCreateable
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
Book.safely_find_or_create_by!(market: 'de', title: 'Moche!')
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
+
### NxtSupport/Util
|
|
46
|
+
|
|
47
|
+
Enjoy some useful utilities
|
|
48
|
+
|
|
49
|
+
#### NxtSupport::EnumHash
|
|
50
|
+
|
|
51
|
+
`NxtSupport::EnumHash` is a simple hash with indifferent access to organize a collection of enums.
|
|
52
|
+
Keys will be normalized to be underscore and downcase and access with [] is raising a KeyError in case there is
|
|
53
|
+
no value for the key.
|
|
54
|
+
|
|
55
|
+
```ruby
|
|
56
|
+
class Book
|
|
57
|
+
STATES = NxtSupport::EnumHash['draft', 'revised', 'Published', 'in weird State']
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
Book::STATES[:draft] # 'draft'
|
|
61
|
+
Book::STATES['revised'] # 'revised'
|
|
62
|
+
Book::STATES['published'] # 'Published'
|
|
63
|
+
Book::STATES['Published'] # KeyError
|
|
64
|
+
Book::STATES['in_weird_state'] # 'in weird State'
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
|
|
45
68
|
## Development
|
|
46
69
|
|
|
47
70
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/nxt_support.rb
CHANGED
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
module NxtSupport
|
|
2
|
-
module
|
|
3
|
-
|
|
4
|
-
extend ActiveSupport::Concern
|
|
2
|
+
module SafelyFindOrCreateable
|
|
3
|
+
extend ActiveSupport::Concern
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
module ClassMethods
|
|
6
|
+
def safely_find_or_create_by(attributes, &block)
|
|
7
|
+
transaction(requires_new: true) { create(attributes, &block) }
|
|
8
|
+
rescue ActiveRecord::RecordNotUnique
|
|
9
|
+
find_by(attributes)
|
|
10
|
+
end
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
end
|
|
12
|
+
def safely_find_or_create_by!(attributes, &block)
|
|
13
|
+
transaction(requires_new: true) { create!(attributes, &block) }
|
|
14
|
+
rescue ActiveRecord::RecordNotUnique
|
|
15
|
+
find_by!(attributes)
|
|
16
|
+
rescue ActiveRecord::RecordInvalid => e
|
|
17
|
+
all_errors_are_uniqueness_failures = e.record.errors.details.all? { |_key, errs| errs.all? { |err| err[:error] == :taken } }
|
|
18
|
+
raise unless all_errors_are_uniqueness_failures
|
|
19
|
+
find_by!(attributes)
|
|
22
20
|
end
|
|
23
21
|
end
|
|
24
22
|
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require_relative 'util/enum_hash'
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module NxtSupport
|
|
2
|
+
class EnumHash < ActiveSupport::HashWithIndifferentAccess
|
|
3
|
+
def initialize(*keys)
|
|
4
|
+
super()
|
|
5
|
+
|
|
6
|
+
keys.each do |key|
|
|
7
|
+
self[normalized_key(key)] = key.to_s
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
freeze
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def self.[](*keys)
|
|
14
|
+
new(*keys)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def [](key)
|
|
18
|
+
super(key) || (raise KeyError, "No value for key '#{key}' in #{inspect}")
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
private
|
|
22
|
+
|
|
23
|
+
def normalized_key(key)
|
|
24
|
+
key.to_s.downcase.underscore.gsub(/\s+/, '_')
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
data/lib/nxt_support/version.rb
CHANGED
data/nxt_support.gemspec
CHANGED
|
@@ -5,8 +5,8 @@ require "nxt_support/version"
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = "nxt_support"
|
|
7
7
|
spec.version = NxtSupport::VERSION
|
|
8
|
-
spec.authors = ["Nils Sommer"]
|
|
9
|
-
spec.email = ["mail@nilssommer.de"]
|
|
8
|
+
spec.authors = ["Nils Sommer", "Andreas Robecke"]
|
|
9
|
+
spec.email = ["mail@nilssommer.de", "a.robecke@getsafe.de"]
|
|
10
10
|
|
|
11
11
|
spec.summary = "Support through reusable Mixins and Helpers for Ruby on Rails Applications"
|
|
12
12
|
spec.homepage = "https://github.com/nxt-insurance/nxt_support"
|
|
@@ -15,8 +15,8 @@ Gem::Specification.new do |spec|
|
|
|
15
15
|
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
|
16
16
|
|
|
17
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
18
|
-
spec.metadata["source_code_uri"] = "https://github.com/nxt-insurance/
|
|
19
|
-
spec.metadata["changelog_uri"] = "https://github.com/nxt-insurance/
|
|
18
|
+
spec.metadata["source_code_uri"] = "https://github.com/nxt-insurance/nxt_support"
|
|
19
|
+
spec.metadata["changelog_uri"] = "https://github.com/nxt-insurance/nxt_support/CHANGELOG.md"
|
|
20
20
|
|
|
21
21
|
# Specify which files should be added to the gem when it is released.
|
|
22
22
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
@@ -32,4 +32,5 @@ Gem::Specification.new do |spec|
|
|
|
32
32
|
spec.add_development_dependency "rake"
|
|
33
33
|
spec.add_development_dependency "rspec"
|
|
34
34
|
spec.add_development_dependency "sqlite3"
|
|
35
|
+
spec.add_development_dependency "pry"
|
|
35
36
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nxt_support
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nils Sommer
|
|
8
|
+
- Andreas Robecke
|
|
8
9
|
autorequire:
|
|
9
10
|
bindir: exe
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
+
date: 2020-02-04 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
15
|
name: rails
|
|
@@ -80,9 +81,24 @@ dependencies:
|
|
|
80
81
|
- - ">="
|
|
81
82
|
- !ruby/object:Gem::Version
|
|
82
83
|
version: '0'
|
|
84
|
+
- !ruby/object:Gem::Dependency
|
|
85
|
+
name: pry
|
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
|
87
|
+
requirements:
|
|
88
|
+
- - ">="
|
|
89
|
+
- !ruby/object:Gem::Version
|
|
90
|
+
version: '0'
|
|
91
|
+
type: :development
|
|
92
|
+
prerelease: false
|
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
94
|
+
requirements:
|
|
95
|
+
- - ">="
|
|
96
|
+
- !ruby/object:Gem::Version
|
|
97
|
+
version: '0'
|
|
83
98
|
description:
|
|
84
99
|
email:
|
|
85
100
|
- mail@nilssommer.de
|
|
101
|
+
- a.robecke@getsafe.de
|
|
86
102
|
executables: []
|
|
87
103
|
extensions: []
|
|
88
104
|
extra_rdoc_files: []
|
|
@@ -93,6 +109,7 @@ files:
|
|
|
93
109
|
- ".rspec"
|
|
94
110
|
- ".ruby_version"
|
|
95
111
|
- ".travis.yml"
|
|
112
|
+
- CHANGELOG.md
|
|
96
113
|
- Gemfile
|
|
97
114
|
- Gemfile.lock
|
|
98
115
|
- LICENSE.txt
|
|
@@ -103,6 +120,8 @@ files:
|
|
|
103
120
|
- lib/nxt_support.rb
|
|
104
121
|
- lib/nxt_support/models.rb
|
|
105
122
|
- lib/nxt_support/models/safely_find_or_createable.rb
|
|
123
|
+
- lib/nxt_support/util.rb
|
|
124
|
+
- lib/nxt_support/util/enum_hash.rb
|
|
106
125
|
- lib/nxt_support/version.rb
|
|
107
126
|
- nxt_support.gemspec
|
|
108
127
|
homepage: https://github.com/nxt-insurance/nxt_support
|
|
@@ -111,8 +130,8 @@ licenses:
|
|
|
111
130
|
metadata:
|
|
112
131
|
allowed_push_host: https://rubygems.org
|
|
113
132
|
homepage_uri: https://github.com/nxt-insurance/nxt_support
|
|
114
|
-
source_code_uri: https://github.com/nxt-insurance/
|
|
115
|
-
changelog_uri: https://github.com/nxt-insurance/
|
|
133
|
+
source_code_uri: https://github.com/nxt-insurance/nxt_support
|
|
134
|
+
changelog_uri: https://github.com/nxt-insurance/nxt_support/CHANGELOG.md
|
|
116
135
|
post_install_message:
|
|
117
136
|
rdoc_options: []
|
|
118
137
|
require_paths:
|