cached_resource 7.2.0 → 9.0.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
  SHA256:
3
- metadata.gz: d1c2150c2dc21cf091c9b26674b3e52a7bd43938318704f7c2f0739a0b9756aa
4
- data.tar.gz: 2f7b9665c688f2a60b7def43cfafbe2701accded9fcf9aabc371fe91bf78362d
3
+ metadata.gz: 42ea4ceb6fd67accfe68fba67eecbde7c9c2f6289fdc382c095e88faf431b37a
4
+ data.tar.gz: 3ed45f62bf3d3be125b348ca0181fbd87f0becf70c5fb3d617095476cb0d6b6c
5
5
  SHA512:
6
- metadata.gz: c0c94c6b77f623a49a3259a69a4bb1b1d2d7fc219d590b740d5a86c71f3cfbf7eb783a2e8a2c06631c926bd2679b220341d8fbf03b77a3651d5219a70bb8d779
7
- data.tar.gz: 207c37429a14511fb788d21bc69e86b01f8f59a303b20aebafb2f07e54aba48546c03a5ac7fa4b99da0bd9b7cd53d385ddb73306c643d9044d113ea638949e61
6
+ metadata.gz: 677095f51ebb4555c9c42cf66989146e3d972cf7522cae23f9618ab55843730bfa15b32ba607e84bdf8451b270142edbf4e600477a68712bba4a98b5ac2cec56
7
+ data.tar.gz: 6401482cbcc33c775b12b64a0c66d029073a904eb485be863bb8236cb60b9635683f478d97f9b5a30cb1aadc2808182f3f1eaf6f5f6e9df6a48f85194cdea19d
@@ -10,7 +10,7 @@ module CachedResource
10
10
  attr_accessor :cached_resource
11
11
 
12
12
  # Initialize cached resource or retrieve the current cached resource configuration.
13
- def cached_resource(options={})
13
+ def cached_resource(options = {})
14
14
  defined?(@cached_resource) && @cached_resource || setup_cached_resource!(options)
15
15
  end
16
16
 
@@ -30,7 +30,7 @@ module CachedResource
30
30
  # that wants an independent configuration will need to execute:
31
31
  # self.cached_resource = CachedResource::Configuration.new(options={})
32
32
  def inherited(child)
33
- child.cached_resource = self.cached_resource if defined?(@cached_resource)
33
+ child.cached_resource = cached_resource if defined?(@cached_resource)
34
34
  super
35
35
  end
36
36
  end
@@ -25,8 +25,10 @@ module CachedResource
25
25
  end
26
26
 
27
27
  # Clear the cache.
28
- def clear_cache(options=nil)
28
+ def clear_cache(options = nil)
29
29
  cache_clear(options)
30
+
31
+ true
30
32
  end
31
33
 
32
34
  private
@@ -45,7 +47,7 @@ module CachedResource
45
47
  cache_collection_synchronize(object, *arguments) if cached_resource.collection_synchronize
46
48
  return object if !cached_resource.cache_collections && is_any_collection?(*arguments)
47
49
  cache_write(key, object, *arguments)
48
- cache_read(key)
50
+ object
49
51
  end
50
52
 
51
53
  # If this is a pure, unadulterated "all" request
@@ -73,7 +75,9 @@ module CachedResource
73
75
  collection = cache_read(cache_key(cached_resource.collection_arguments))
74
76
 
75
77
  if collection && !updates.empty?
76
- index = collection.inject({}) { |hash, object| hash[object.send(primary_key)] = object; hash }
78
+ index = collection.each_with_object({}) { |object, hash|
79
+ hash[object.send(primary_key)] = object
80
+ }
77
81
  updates.each { |object| index[object.send(primary_key)] = object }
78
82
  cache_write(cache_key(cached_resource.collection_arguments), index.values, *arguments)
79
83
  end
@@ -82,7 +86,7 @@ module CachedResource
82
86
  # Avoid cache nil or [] objects
83
87
  def should_cache?(object)
84
88
  return false unless cached_resource.enabled
85
- object.respond_to?(:empty?) ? !object.empty? : !!object
89
+ object.present?
86
90
  end
87
91
 
88
92
  # Determine if the given arguments represent
@@ -94,13 +98,12 @@ module CachedResource
94
98
  # Determine if the given arguments represent
95
99
  # any collection of objects
96
100
  def is_any_collection?(*arguments)
97
- cached_resource.collection_arguments.all?{ |arg| arguments.include?(arg) } || arguments.include?(:all)
101
+ cached_resource.collection_arguments.all? { |arg| arguments.include?(arg) } || arguments.include?(:all)
98
102
  end
99
103
 
100
104
  # Read a entry from the cache for the given key.
101
105
  def cache_read(key)
102
106
  object = cached_resource.cache.read(key).try do |json_cache|
103
-
104
107
  json = ActiveSupport::JSON.decode(json_cache)
105
108
 
106
109
  unless json.nil?
@@ -110,7 +113,7 @@ module CachedResource
110
113
  next restored unless respond_to?(:collection_parser)
111
114
  collection_parser.new(restored).tap do |parser|
112
115
  parser.resource_class = self
113
- parser.original_params = json['original_params']
116
+ parser.original_params = json["original_params"].deep_symbolize_keys
114
117
  end
115
118
  else
116
119
  full_dup(cache)
@@ -127,32 +130,51 @@ module CachedResource
127
130
  params = options[:params]
128
131
  prefix_options, query_options = split_options(params)
129
132
 
130
- result = cached_resource.cache.write(key, object_to_json(object, prefix_options, query_options), :race_condition_ttl => cached_resource.race_condition_ttl, :expires_in => cached_resource.generate_ttl)
133
+ result = cached_resource.cache.write(key, object_to_json(object, prefix_options, query_options), race_condition_ttl: cached_resource.race_condition_ttl, expires_in: cached_resource.generate_ttl)
131
134
  result && cached_resource.logger.info("#{CachedResource::Configuration::LOGGER_PREFIX} WRITE #{key}")
132
135
  result
133
136
  end
134
137
 
135
- # Clear the cache.
136
- def cache_clear(options=nil)
137
- # Memcache doesn't support delete_matched, which can also be computationally expensive
138
- if cached_resource.cache.class.to_s == 'ActiveSupport::Cache::MemCacheStore' || options.try(:fetch,:all)
138
+ def cache_clear(options = nil)
139
+ if !cached_resource.cache.respond_to?(:delete_matched) || options.try(:fetch, :all)
139
140
  cached_resource.cache.clear.tap do |result|
140
141
  cached_resource.logger.info("#{CachedResource::Configuration::LOGGER_PREFIX} CLEAR ALL")
141
142
  end
142
143
  else
143
- cached_resource.cache.delete_matched("^#{name_key}/*").tap do |result|
144
- cached_resource.logger.info("#{CachedResource::Configuration::LOGGER_PREFIX} CLEAR #{name_key}/*")
144
+ cached_resource.cache.delete_matched(cache_key_delete_pattern).tap do |result|
145
+ cached_resource.logger.info("#{CachedResource::Configuration::LOGGER_PREFIX} CLEAR #{cache_key_delete_pattern}")
145
146
  end
146
147
  end
147
148
  end
148
149
 
150
+ def cache_key_delete_pattern
151
+ case cached_resource.cache
152
+ when ActiveSupport::Cache::MemoryStore, ActiveSupport::Cache::FileStore
153
+ /^#{name_key}\//
154
+ else
155
+ "#{name_key}/*"
156
+ end
157
+ end
158
+
149
159
  # Generate the request cache key.
150
160
  def cache_key(*arguments)
151
- "#{name_key}/#{arguments.join('/')}".downcase.delete(' ')
161
+ "#{name_key}/#{arguments.join("/")}".downcase.delete(" ")
152
162
  end
153
163
 
154
164
  def name_key
155
- name.parameterize.gsub("-", "/")
165
+ cache_key_prefix + name.parameterize.tr("-", "/")
166
+ end
167
+
168
+ def cache_key_prefix
169
+ prefix = cached_resource.cache_key_prefix
170
+ return "" if prefix.nil?
171
+
172
+ if prefix.respond_to?(:call)
173
+ result = prefix.call
174
+ result.nil? ? "" : "#{result}/"
175
+ else
176
+ "#{prefix}/"
177
+ end
156
178
  end
157
179
 
158
180
  # Make a full duplicate of an ActiveResource record.
@@ -164,16 +186,16 @@ module CachedResource
164
186
  end
165
187
 
166
188
  def json_to_object(json)
167
- resource = json['resource']
189
+ resource = json["resource"]
168
190
  if resource.is_a? Array
169
191
  resource.map do |attrs|
170
- self.new(attrs["object"], attrs["persistence"]).tap do |resource|
171
- resource.prefix_options = json['prefix_options']
192
+ new(attrs["object"], attrs["persistence"]).tap do |resource|
193
+ resource.prefix_options = json["prefix_options"]
172
194
  end
173
195
  end
174
196
  else
175
- self.new(resource["object"], resource["persistence"]).tap do |resource|
176
- resource.prefix_options = json['prefix_options']
197
+ new(resource["object"], resource["persistence"]).tap do |resource|
198
+ resource.prefix_options = json["prefix_options"]
177
199
  end
178
200
  end
179
201
  end
@@ -181,16 +203,14 @@ module CachedResource
181
203
  def object_to_json(object, prefix_options, query_options)
182
204
  if object.is_a? Enumerable
183
205
  {
184
- :resource => object.map { |o| { :object => o, :persistence => o.persisted? } },
185
- :prefix_options => prefix_options,
186
- :original_params => query_options
206
+ resource: object.map { |o| {object: o, persistence: o.persisted?} },
207
+ prefix_options: prefix_options,
208
+ original_params: query_options
187
209
  }.to_json
188
- elsif object.nil?
189
- nil.to_json
190
210
  else
191
211
  {
192
- :resource => { :object => object, :persistence => object.persisted? },
193
- :prefix_options => prefix_options
212
+ resource: {object: object, persistence: object.persisted?},
213
+ prefix_options: prefix_options
194
214
  }.to_json
195
215
  end
196
216
  end
@@ -2,7 +2,6 @@ module CachedResource
2
2
  # The Configuration class manages class specific options
3
3
  # for cached resource.
4
4
  class Configuration < OpenStruct
5
-
6
5
  # default or fallback cache without rails
7
6
  CACHE = ActiveSupport::Cache::MemoryStore.new
8
7
 
@@ -24,18 +23,19 @@ module CachedResource
24
23
  # :cache, default: Rails.cache or ActiveSupport::Cache::MemoryStore.new,
25
24
  # :logger, default: Rails.logger or ActiveSupport::Logger.new(NilIO.new),
26
25
  # :cache_collections, default: true
27
- def initialize(options={})
26
+ def initialize(options = {})
28
27
  super({
29
- :enabled => true,
30
- :race_condition_ttl => 86400,
31
- :ttl => 604800,
32
- :ttl_randomization => false,
33
- :ttl_randomization_scale => 1..2,
34
- :collection_synchronize => false,
35
- :collection_arguments => [:all],
36
- :cache => defined?(Rails.cache) && Rails.cache || CACHE,
37
- :logger => defined?(Rails.logger) && Rails.logger || LOGGER,
38
- :cache_collections => true
28
+ cache: defined?(Rails.cache) && Rails.cache || CACHE,
29
+ cache_collections: true,
30
+ cache_key_prefix: nil,
31
+ collection_arguments: [:all],
32
+ collection_synchronize: false,
33
+ enabled: true,
34
+ logger: defined?(Rails.logger) && Rails.logger || LOGGER,
35
+ race_condition_ttl: 86400,
36
+ ttl: 604800,
37
+ ttl_randomization: false,
38
+ ttl_randomization_scale: 1..2
39
39
  }.merge(options))
40
40
  end
41
41
 
@@ -47,6 +47,8 @@ module CachedResource
47
47
  end
48
48
 
49
49
  # Enables caching.
50
+ # NOTE: Disabled coverage because it is not being picked up by simplecov
51
+ # :nocov:
50
52
  def on!
51
53
  self.enabled = true
52
54
  end
@@ -55,6 +57,7 @@ module CachedResource
55
57
  def off!
56
58
  self.enabled = false
57
59
  end
60
+ # :nocov:
58
61
 
59
62
  private
60
63
 
@@ -66,10 +69,9 @@ module CachedResource
66
69
 
67
70
  # Choose a random value from within the given range, optionally
68
71
  # seeded by seed.
69
- def sample_range(range, seed=nil)
72
+ def sample_range(range, seed = nil)
70
73
  srand seed if seed
71
74
  rand * (range.end - range.begin) + range.begin
72
75
  end
73
-
74
76
  end
75
- end
77
+ end
@@ -1,3 +1,3 @@
1
1
  module CachedResource
2
- VERSION = "7.2.0"
2
+ VERSION = "9.0.0"
3
3
  end
@@ -1,14 +1,14 @@
1
- require 'ostruct'
1
+ require "ostruct"
2
2
 
3
- require 'nilio'
4
- require 'active_support/cache'
5
- require 'active_support/concern'
6
- require 'active_support/logger'
7
- require 'cached_resource/cached_resource'
8
- require 'cached_resource/configuration'
9
- require 'cached_resource/caching'
10
- require 'cached_resource/version'
11
- require 'active_resource'
3
+ require "nilio"
4
+ require "active_support/cache"
5
+ require "active_support/concern"
6
+ require "active_support/logger"
7
+ require "cached_resource/cached_resource"
8
+ require "cached_resource/configuration"
9
+ require "cached_resource/caching"
10
+ require "cached_resource/version"
11
+ require "active_resource"
12
12
 
13
13
  module CachedResource
14
14
  # nada
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cached_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.0
4
+ version: 9.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Morgan Brown
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-27 00:00:00.000000000 Z
11
+ date: 2024-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: concurrent-ruby
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry-byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rake
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -80,36 +108,65 @@ dependencies:
80
108
  - - ">="
81
109
  - !ruby/object:Gem::Version
82
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.22.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.22.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: standard
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.39'
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: 1.39.1
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '1.39'
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: 1.39.1
145
+ - !ruby/object:Gem::Dependency
146
+ name: timecop
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: 0.9.10
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: 0.9.10
83
159
  description: Enables request-based caching for ActiveResource
84
160
  email: cached_resource@email.mhgbrown.is
85
161
  executables: []
86
162
  extensions: []
87
163
  extra_rdoc_files: []
88
164
  files:
89
- - ".github/workflows/ruby.yml"
90
- - ".gitignore"
91
- - ".rspec"
92
- - FUNDING.json
93
- - Gemfile
94
- - LICENSE
95
- - README.md
96
- - Rakefile
97
- - cached_resource.gemspec
98
- - gemfiles/4.2.gemfile
99
- - gemfiles/5.0.gemfile
100
- - gemfiles/5.1.gemfile
101
- - gemfiles/6.0.gemfile
102
- - gemfiles/6.1.gemfile
103
- - gemfiles/7.0.gemfile
104
165
  - lib/cached_resource.rb
105
166
  - lib/cached_resource/cached_resource.rb
106
167
  - lib/cached_resource/caching.rb
107
168
  - lib/cached_resource/configuration.rb
108
169
  - lib/cached_resource/version.rb
109
- - spec/cached_resource/cached_resource_spec.rb
110
- - spec/cached_resource/caching_spec.rb
111
- - spec/cached_resource/configuration_spec.rb
112
- - spec/spec_helper.rb
113
170
  homepage: https://github.com/mhgbrown/cached_resource
114
171
  licenses:
115
172
  - MIT
@@ -122,7 +179,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
122
179
  requirements:
123
180
  - - ">="
124
181
  - !ruby/object:Gem::Version
125
- version: 1.9.0
182
+ version: '3.0'
126
183
  required_rubygems_version: !ruby/object:Gem::Requirement
127
184
  requirements:
128
185
  - - ">="
@@ -133,8 +190,4 @@ rubygems_version: 3.1.6
133
190
  signing_key:
134
191
  specification_version: 4
135
192
  summary: Caching for ActiveResource
136
- test_files:
137
- - spec/cached_resource/cached_resource_spec.rb
138
- - spec/cached_resource/caching_spec.rb
139
- - spec/cached_resource/configuration_spec.rb
140
- - spec/spec_helper.rb
193
+ test_files: []
@@ -1,109 +0,0 @@
1
- # This workflow uses actions that are not certified by GitHub.
2
- # They are provided by a third-party and are governed by
3
- # separate terms of service, privacy policy, and support
4
- # documentation.
5
- # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
- # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
-
8
- name: Test
9
-
10
- on: [push]
11
-
12
- permissions:
13
- contents: read
14
-
15
- jobs:
16
- test:
17
-
18
- runs-on: ubuntu-20.04
19
-
20
- strategy:
21
- matrix:
22
- ruby-version: ['1.9', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2']
23
- rails-version: ['4.2', '5.0', '5.1', '6.0', '6.1', '7.0']
24
- exclude:
25
- # Segmentation faults during tests, but should work?
26
- - ruby-version: '2.2'
27
- rails-version: '5.0'
28
- - ruby-version: '2.2'
29
- rails-version: '5.1'
30
- # Too old
31
- - ruby-version: '1.9'
32
- rails-version: '5.0'
33
- - ruby-version: '1.9'
34
- rails-version: '5.1'
35
- - ruby-version: '1.9'
36
- rails-version: '6.0'
37
- - ruby-version: '1.9'
38
- rails-version: '6.1'
39
- - ruby-version: '1.9'
40
- rails-version: '7.0'
41
- # activesupport (~> 6.0.0) was resolved to 6.0.6.1, which depends on ruby (>= 2.5.0)
42
- # activesupport (~> 6.1.0) was resolved to 6.1.7.2, which depends on ruby (>= 2.5.0)
43
- - ruby-version: '2.2'
44
- rails-version: '6.0'
45
- - ruby-version: '2.2'
46
- rails-version: '6.1'
47
- - ruby-version: '2.3'
48
- rails-version: '6.0'
49
- - ruby-version: '2.3'
50
- rails-version: '6.1'
51
- - ruby-version: '2.4'
52
- rails-version: '6.0'
53
- - ruby-version: '2.4'
54
- rails-version: '6.1'
55
- # activesupport (~> 7.0.0) was resolved to 7.0.4.2, which depends on Ruby (>= 2.7.0)
56
- - ruby-version: '2.2'
57
- rails-version: '7.0'
58
- - ruby-version: '2.3'
59
- rails-version: '7.0'
60
- - ruby-version: '2.4'
61
- rails-version: '7.0'
62
- - ruby-version: '2.5'
63
- rails-version: '7.0'
64
- - ruby-version: '2.6'
65
- rails-version: '7.0'
66
- # incompatbility with BigDecimal.new
67
- - ruby-version: '2.7'
68
- rails-version: '4.2'
69
- - ruby-version: '3.0'
70
- rails-version: '4.2'
71
- - ruby-version: '3.1'
72
- rails-version: '4.2'
73
- - ruby-version: '3.2'
74
- rails-version: '4.2'
75
- # ArgumentError: expected attributes to be able to convert to Hash, got "#<Thing:0x000055d208b2e258>"
76
- # probably keyword argument delegation different in Ruby 3
77
- # https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/
78
- - ruby-version: '3.0'
79
- rails-version: '5.0'
80
- - ruby-version: '3.0'
81
- rails-version: '5.1'
82
- - ruby-version: '3.1'
83
- rails-version: '5.0'
84
- - ruby-version: '3.1'
85
- rails-version: '5.1'
86
- - ruby-version: '3.2'
87
- rails-version: '5.0'
88
- - ruby-version: '3.2'
89
- rails-version: '5.1'
90
-
91
- steps:
92
- - uses: actions/checkout@v3
93
- - name: Set up Ruby ${{ matrix.ruby-version }}
94
- # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
95
- # change this to (see https://github.com/ruby/setup-ruby#versioning):
96
- # uses: ruby/setup-ruby@v1
97
- uses: ruby/setup-ruby@v1
98
- with:
99
- ruby-version: ${{ matrix.ruby-version }}
100
- - name: Install bundler 1.x.x
101
- if: matrix.rails-version == '4.2'
102
- run: gem uninstall -aIx bundler && gem install bundler -v 1.17.3
103
- - name: Install dependencies
104
- run: bundle install
105
- env:
106
- TEST_RAILS_VERSION: ${{ matrix.rails-version }}
107
- DEBUG: true
108
- - name: Run tests
109
- run: bundle exec rake
data/.gitignore DELETED
@@ -1,7 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- pkg/*
5
- *DS_Store
6
- .ruby-version
7
- .tool-versions
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --color
2
- --backtrace
3
- --format d
data/FUNDING.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "drips": {
3
- "ethereum": {
4
- "ownedBy": "0xe2E9b9B5d0757c26aB477A754788B19b60f2ed83"
5
- }
6
- }
7
- }
data/Gemfile DELETED
@@ -1,29 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gemspec
4
-
5
- def eval_gemfile(path)
6
- gemfile_local = File.expand_path(path, __FILE__)
7
- if File.readable?(gemfile_local)
8
- puts "Loading #{gemfile_local}..." if ENV['DEBUG']
9
- instance_eval(File.read(gemfile_local))
10
- end
11
- end
12
-
13
- puts "\e[93mUsing TEST_RAILS_VERSION #{ENV['TEST_RAILS_VERSION']}\e[0m" if ENV['DEBUG']
14
- case ENV['TEST_RAILS_VERSION']
15
- when "4.2"
16
- eval_gemfile('../gemfiles/4.2.gemfile')
17
- when "5.0"
18
- eval_gemfile('../gemfiles/5.0.gemfile')
19
- when "5.1"
20
- eval_gemfile('../gemfiles/5.1.gemfile')
21
- when "6.0"
22
- eval_gemfile('../gemfiles/6.0.gemfile')
23
- when "6.1"
24
- eval_gemfile('../gemfiles/6.1.gemfile')
25
- when "7.0"
26
- eval_gemfile('../gemfiles/7.0.gemfile')
27
- else
28
- puts "\e[93mNo TEST_RAILS_VERSION present, letting dependency manager decide what's best.\e[0m" if ENV['DEBUG']
29
- end
data/LICENSE DELETED
@@ -1,20 +0,0 @@
1
- Copyright (c) 2018 Morgan Brown
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.