act_with_bag 0.5.5 → 1.0.3

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: d9b6f35194aec65e31ded77ab52e7325ec0390d0d1d13294c5865cf970f10ee2
4
- data.tar.gz: 75461f8e3975de9b50cfbaedb83e6048328ca5e000ed4d420389d80a366a6e33
3
+ metadata.gz: 8b413b4ae9718297bcdb4607809d51bbb753cde5ec7bc4928d933bb471318784
4
+ data.tar.gz: 0aedee7ebecd07cb6a91c4d2bba6f991372c3b304e5d13e86086b773784e1f7a
5
5
  SHA512:
6
- metadata.gz: d88b17459ad5d879f2317a401279617d8f6fee3484ecba1b9abec61283a508256b71546a8312793e5007d9695253d761ddbc099b1f9049a441eeae4b5159ebb6
7
- data.tar.gz: a94b049e47f5c3b973f5cac273823fe9a2fec67acea6ba389d6d5355718152a3394a24379ed02eb4ae21b8f953f353d30e2e15b295b03a31d3bdc5ef9abd1e15
6
+ metadata.gz: d9266188f4b87ccc378acc54d2a69e609cdd9743c733cc97d76ee0fca68104fa993ef01246dbeae81513bf111f5055d4bb48fa38520066b1b8672f77d2155238
7
+ data.tar.gz: dbebca76e3c4d099e6868bb0e9a921a7132afb728b1d04e9c29978d339c53bc65085d9c893aeb9212b8b8479d2218317572b70a858661040d5f60fb6cad07de6
data/.gitignore CHANGED
@@ -1,11 +1,10 @@
1
- *.sqlite3
2
-
3
1
  .bundle/
4
2
  coverage/
5
- pkg/
6
- test/internal/db/*.sqlite3
7
3
 
8
4
  *.gem
9
5
  *.log
10
6
  *.lock
11
- test/internal/tmp/
7
+ *.sqlite3
8
+ **/*.gem
9
+ **/*.log
10
+ **/*.lock
data/.rubocop.yml ADDED
@@ -0,0 +1,30 @@
1
+ inherit_from:
2
+ - ~/configs/.rubocop.yml
3
+
4
+ AllCops:
5
+ Include:
6
+ - 'lib/**/*.rb'
7
+ Exclude:
8
+ - 'test/**/*'
9
+
10
+ Layout/AccessModifierIndentation:
11
+ Enabled: false
12
+ Layout/EmptyLinesAroundAccessModifier:
13
+ Enabled: false
14
+ Layout/ExtraSpacing:
15
+ Enabled: false
16
+
17
+ Metrics/AbcSize:
18
+ Enabled: false
19
+ Metrics/CyclomaticComplexity:
20
+ Enabled: false
21
+ Metrics/MethodLength:
22
+ Enabled: false
23
+ Metrics/PerceivedComplexity:
24
+ Enabled: false
25
+
26
+ Style/EvalWithLocation:
27
+ Enabled: false
28
+ Style/RescueModifier:
29
+ Exclude:
30
+ - 'lib/act_with_bag.rb'
data/.ruby-gemset CHANGED
@@ -1 +1 @@
1
- rails-5.2
1
+ rails-6.1
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.5.1
1
+ ruby-2.7.2
data/.travis.yml CHANGED
@@ -2,20 +2,32 @@ language: ruby
2
2
  sudo: false
3
3
 
4
4
  bundler_args: --without production
5
- before_install: gem update bundler --no-document
5
+ #before_install:
6
+ #- gem update bundler --no-document
7
+ #- gem update bundler --no-rdoc --no-ri
6
8
  script: "bundle exec rake test"
7
9
 
8
10
  rvm:
11
+ - 2.7.2
12
+ - 2.6.6
13
+ # - 2.6.5
14
+ # - 2.6.4
15
+ # - 2.6.3
16
+ # - 2.6.1
17
+ # - 2.6.0
18
+ # - 2.5.1
19
+ # - 2.2.4
9
20
  # - 1.9.3
10
21
  ## - 2.2.3
11
22
  # - 2.3.1
12
23
  ## - 2.4.1
13
- - 2.5.1
14
24
 
15
25
  gemfile:
16
- - gemfiles/rails_5.0.gemfile
17
- - gemfiles/rails_5.1.gemfile
26
+ - gemfiles/rails_6.1.gemfile
27
+ - gemfiles/rails_6.0.gemfile
18
28
  - gemfiles/rails_5.2.gemfile
29
+ # - gemfiles/rails_5.0.gemfile
30
+ # - gemfiles/rails_4.1.gemfile
19
31
 
20
32
  matrix:
21
33
  # exclude:
data/.watchr CHANGED
@@ -16,37 +16,30 @@ end
16
16
 
17
17
  def run_it(type, file)
18
18
  case type
19
- # when 'test'; run %Q{ruby -I"lib:test" -rubygems #{file}}
20
- when 'test'; run %Q{rails test #{file}}
21
- # when 'spec'; run %Q{spring rspec -X #{file}}
19
+ when 'test'; run %(ruby -I test #{file})
20
+ # when 'spec'; run %(rspec -X #{file})
22
21
  else; puts "#{H} unknown type: #{type}, file: #{file}"
23
22
  end
24
23
  end
25
24
 
26
25
  def run_all_tests
27
26
  puts "\n#{HH} Running all tests #{HH}\n"
28
- # %w{test spec}.each { |dir| run "spring rake #{dir} RAILS_ENV=test" if File.exists?(dir) }
29
- # %w{test}.each { |dir| run "spring rake #{dir} RAILS_ENV=test" if File.exists?(dir) }
30
- %w{test}.each { |dir| run "rake #{dir} RAILS_ENV=test" if File.exists?(dir) }
27
+ %w[test spec].each { |dir| run "rake #{dir}" if File.exist?(dir) }
31
28
  end
32
29
 
33
30
  def run_matching_files(base)
34
31
  base = base.split('_').first
35
- %w{test spec}.each { |type|
32
+ %w[test spec].each { |type|
36
33
  files = Dir["#{type}/**/*.rb"].select { |file| file =~ /#{base}_.*\.rb/ }
37
34
  run_it type, files.join(' ') unless files.empty?
38
35
  }
39
36
  end
40
37
 
41
- %w{test spec}.each { |type|
38
+ %w[test spec].each { |type|
42
39
  watch("#{type}/#{type}_helper\.rb") { run_all_tests }
40
+ watch('lib/.*\.rb') { run_all_tests }
43
41
  watch("#{type}/.*/*_#{type}\.rb") { |match| run_it type, match[0] }
44
42
  }
45
- %w{rb erb haml slim}.each { |type|
46
- watch("app/.*/.*\.#{type}") { |m|
47
- run_matching_files("#{m[0].split('/').at(2).split('.').first}")
48
- }
49
- }
50
43
 
51
44
  # Ctrl-\ or ctrl-4
52
45
  Signal.trap('QUIT') { run_all_tests }
data/Appraisals CHANGED
@@ -1,14 +1,24 @@
1
- appraise 'rails-5.0' do
2
- gem 'rails', '~> 5.0.0'
3
- gem 'dryer-config', '~> 5.0.0'
1
+ appraise 'rails-6.1' do
2
+ gem 'rails', '~> 6.1'
3
+ gem 'dryer-config', '~> 6.0'
4
4
  end
5
5
 
6
- appraise 'rails-5.1' do
7
- gem 'rails', '~> 5.1.0'
8
- gem 'dryer-config', '~> 5.1.0'
6
+ appraise 'rails-6.0' do
7
+ gem 'rails', '~> 6.0'
8
+ gem 'dryer-config', '~> 6.0'
9
9
  end
10
10
 
11
11
  appraise 'rails-5.2' do
12
12
  gem 'rails', '~> 5.2.0'
13
13
  gem 'dryer-config', '~> 5.2.0'
14
14
  end
15
+
16
+ #appraise 'rails-5.0' do
17
+ # gem 'rails', '~> 5.0.0'
18
+ # gem 'dryer-config', '~> 5.0.0'
19
+ #end
20
+
21
+ #appraise 'rails-4.1' do
22
+ # gem 'rails', '= 4.1.1'
23
+ ## gem 'dryer-config', '~> 5.1.0'
24
+ #end
data/Gemfile CHANGED
@@ -1,13 +1,11 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
  gemspec
3
3
 
4
4
  gem 'rails'
5
5
 
6
6
  group :test do
7
7
  gem 'observr'
8
+ gem 'rubocop', require: false
8
9
  gem 'simplecov', require: false
9
- gem 'minitest'
10
10
  gem 'capybara'
11
- gem 'sqlite3'
12
- # gem 'slim'
13
11
  end
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2010-2021 Dittmar Krall - www.matique.com
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.
data/README.md CHANGED
@@ -1,26 +1,26 @@
1
1
  ActWithBag
2
2
  ==========
3
3
  [![Gem Version](https://badge.fury.io/rb/act_with_bag.png)](http://badge.fury.io/rb/act_with_bag)
4
- [![Build Status](https://travis-ci.org/matique/act_with_bag.png?branch=master)](https://travis-ci.org/matique/act_with_bag)
4
+ [![Build Status](https://travis-ci.org/matique/act_with_bag.svg?branch=master)](https://travis-ci.org/matique/act_with_bag)
5
5
 
6
6
  In Gemfile:
7
7
 
8
8
  gem 'act_with_bag'
9
9
 
10
- Bag helps when fields in a table are not yet settled down
10
+ Bag helps when fields in a Rails database table are not yet settled down
11
11
  or when many fields without business logic are required.
12
12
 
13
13
  Install (migrate) one bag as a text field in a table to collect many fields.
14
14
  Additional fields or removal of them are easy;
15
15
  no migrations are required for them.
16
16
 
17
- Keep in mind that the collection is kept in a YAML bag, i.e.
18
- SQL commands can't access the bag fields.
17
+ Keep in mind that the collection is kept in a YAML bag,
18
+ i.e. SQL commands can't access the bag fields.
19
19
 
20
20
  Boolean and Date fields require explicit typing.
21
21
 
22
22
  Fields without typing accept any values which YAML can handle
23
- (e.g. @order.color = ['red', 'yellow']).
23
+ (e.g. @order.colors = ['red', 'yellow']).
24
24
 
25
25
  Types :integer, :float and :string
26
26
  forces a conversion (.to_i, .to_f, .to_s) before storing the value,
@@ -40,13 +40,17 @@ Obsolete fields are deleted before_save by:
40
40
  Warning
41
41
  =======
42
42
 
43
- Please add a:
43
+ 1. Please add a:
44
44
 
45
45
  serialize :bag, Hash
46
46
 
47
47
  to each subclass accessing a bag field from a superclass.
48
48
  Using an "add_to_bag" in the subclass obsoletes the "serialize".
49
49
 
50
+ 2. delete_from_bag just delete the field from the record being saved.
51
+ Other records are untouched,
52
+ i.e. the value of the field will be kept in the database.
53
+
50
54
 
51
55
  Example
52
56
  =======
@@ -88,4 +92,4 @@ Test
88
92
 
89
93
  rake
90
94
 
91
- Copyright (c) 2009-2018 [Dittmar Krall], released under the MIT license
95
+ Copyright (c) 2009-2020 [Dittmar Krall], released under the MIT license
data/Rakefile CHANGED
@@ -1,13 +1,11 @@
1
- require "bundler/setup"
2
-
3
1
  require 'rake/testtask'
4
2
 
5
- desc 'Test the act_with_bag plugin.'
6
- Rake::TestTask.new(:test) do |t|
3
+ desc 'Run the tests.'
4
+ Rake::TestTask.new do |t|
7
5
  t.libs << 'lib'
8
6
  t.libs << 'test'
9
7
  t.pattern = 'test/**/*_test.rb'
10
8
  t.verbose = false
11
9
  end
12
10
 
13
- task :default => :test
11
+ task default: :test
data/act_with_bag.gemspec CHANGED
@@ -18,8 +18,10 @@ Gem::Specification.new do |s|
18
18
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
19
19
  s.require_paths = ['lib']
20
20
 
21
- s.add_development_dependency 'bundler', '~> 1'
22
- s.add_development_dependency 'rake', '~> 12'
21
+ s.add_development_dependency 'bundler'
22
+ s.add_development_dependency 'rake'
23
23
  s.add_development_dependency 'appraisal', '~> 2'
24
- # s.add_development_dependency 'combustion', '~> 0'
24
+
25
+ s.add_development_dependency 'minitest'
26
+ s.add_development_dependency 'sqlite3'
25
27
  end
@@ -10,7 +10,7 @@ group :test do
10
10
  gem "simplecov", require: false
11
11
  gem "minitest"
12
12
  gem "capybara"
13
- gem "sqlite3"
13
+ gem "sqlite3", "~> 1.3.6"
14
14
  end
15
15
 
16
16
  gemspec path: "../"
@@ -10,7 +10,7 @@ group :test do
10
10
  gem "simplecov", require: false
11
11
  gem "minitest"
12
12
  gem "capybara"
13
- gem "sqlite3"
13
+ gem "sqlite3", "~> 1.3.6"
14
14
  end
15
15
 
16
16
  gemspec path: "../"
@@ -7,10 +7,9 @@ gem "dryer-config", "~> 5.2.0"
7
7
 
8
8
  group :test do
9
9
  gem "observr"
10
+ gem "rubocop", require: false
10
11
  gem "simplecov", require: false
11
- gem "minitest"
12
12
  gem "capybara"
13
- gem "sqlite3"
14
13
  end
15
14
 
16
15
  gemspec path: "../"
@@ -0,0 +1,15 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 6.0"
6
+ gem "dryer-config", "~> 6.0"
7
+
8
+ group :test do
9
+ gem "observr"
10
+ gem "rubocop", require: false
11
+ gem "simplecov", require: false
12
+ gem "capybara"
13
+ end
14
+
15
+ gemspec path: "../"
@@ -0,0 +1,15 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 6.1"
6
+ gem "dryer-config", "~> 6.0"
7
+
8
+ group :test do
9
+ gem "observr"
10
+ gem "rubocop", require: false
11
+ gem "simplecov", require: false
12
+ gem "capybara"
13
+ end
14
+
15
+ gemspec path: "../"
data/lib/act_with_bag.rb CHANGED
@@ -1,149 +1,163 @@
1
- class << ActiveRecord::Base
1
+ # frozen_string_literal: true
2
2
 
3
+ class << ActiveRecord::Base
3
4
  def add_to_bag(*baglets)
4
- #p "baglets #{baglets.inspect}"
5
+ # p "baglets #{baglets.inspect}"
5
6
  serialize :bag, Hash
6
7
 
7
- self.class_eval %{
8
+ class_eval %{
8
9
  def bag=(x)
9
- #bag changes disabled as it must be handled by Bag himself
10
+ #bag changes disabled as it must be handled by Bag himself
10
11
  end
11
12
  }
12
13
 
13
14
  @baggies_date ||= {}
14
- baglets.each {|b|
15
+ baglets.each { |b|
15
16
  if b.is_a?(Hash)
16
- b.each {|baggie, type|
17
- add_accessor(baggie, type)
18
- }
17
+ b.each { |baggie, type|
18
+ add_accessor(baggie, type)
19
+ }
19
20
  else
20
- add_accessor(b, :field)
21
+ add_accessor(b, :field)
21
22
  end
22
23
  }
23
24
  end
24
25
 
25
26
  def delete_from_bag(*baglets)
26
- #p "delete_from_bag baglets #{baglets.inspect}"
27
+ # p "delete_from_bag baglets #{baglets.inspect}"
27
28
 
28
- self.class_eval %{
29
+ class_eval %{
29
30
  before_save do
30
- #{baglets}.each {|b|
31
- if b.is_a?(Hash)
32
- b.each {|baggie, type|
33
- self.bag.delete(baggie.to_sym)
34
- }
35
- else
36
- self.bag.delete(b.to_sym)
37
- end
38
- }
31
+ #{baglets}.each { |b|
32
+ if b.is_a?(Hash)
33
+ b.each { |baggie, type|
34
+ self.bag.delete(baggie.to_sym)
35
+ }
36
+ else
37
+ self.bag.delete(b.to_sym)
38
+ end
39
+ }
39
40
  end
40
41
  }
41
-
42
42
  end
43
43
 
44
- def merge(bag, params)
45
- model = self.to_s.underscore.to_sym
44
+ def merge(_bag, params)
45
+ model = to_s.underscore.to_sym
46
46
  return params unless params[model]
47
47
 
48
- (@baggies_date || {}).each {|baggie, type|
49
- res, found, stopped = [], false, false
50
- (1..3).each {|i|
51
- p = params[model].delete("#{baggie}(#{i}i)")
52
- break if p.nil?
53
- found = true
54
- stopped = true if p.empty?
55
- res << p.to_i unless stopped
48
+ (@baggies_date || {}).each { |baggie, _type|
49
+ res = []
50
+ found = false
51
+ stopped = false
52
+ (1..3).each { |i|
53
+ p = params[model].delete("#{baggie}(#{i}i)")
54
+ break if p.nil?
55
+
56
+ found = true
57
+ stopped = true if p.empty?
58
+ res << p.to_i unless stopped
56
59
  }
57
60
  next unless found
58
- ## weird Timestamp, Hash and YAML problem
61
+
62
+ ## weird Timestamp, Hash and YAML problem
59
63
  res = [0] if res == []
60
64
  res[0] = 0 unless res[0] >= 0
61
65
 
62
- value = Date.new(*res) rescue value = nil
66
+ value = Date.new(*res) rescue nil
63
67
  params[model][baggie] = value
64
68
  }
65
69
  params
66
70
  end
67
71
 
68
-
69
72
  protected
70
73
  def accessor_present?(accessor)
71
74
  accessor_sym = accessor.to_sym
72
75
  res = false
73
76
 
74
- res = true if self.method_defined?(accessor_sym)
75
- res = true if self.respond_to?(:attribute_names) &&
76
- self.attribute_names.include?(accessor)
77
+ res = true if method_defined?(accessor_sym)
78
+ res = true if respond_to?(:attribute_names) &&
79
+ attribute_names.include?(accessor)
77
80
  if res
78
- # logger.info "** Already defined #{self.to_s}.#{accessor}"
79
- #p "** act_to_bag: untouched accessor '#{self.to_s}.#{accessor}'"
81
+ # logger.info "** Already defined #{self.to_s}.#{accessor}"
82
+ # p "** act_to_bag: untouched accessor '#{self.to_s}.#{accessor}'"
80
83
  end
81
- return res
84
+ res
82
85
  end
83
86
 
84
87
  def add_accessor(baggie, type)
85
88
  accessor = baggie.to_s
86
89
  return if accessor_present?(accessor)
87
90
 
91
+ # MARS patch, new:
92
+ #
93
+ # The @baggies field is indispensable. Otherwise mistakes in renaming
94
+ # or deleting baggies (without renaming/deleting) the value entry from the
95
+ # bag, e. g. via delete_from_bag) cannot be detected in a clean way.
96
+ # Detecting the accessor would be not sufficient, as the accessor may be
97
+ # created by ActiveRecord::Base or the derived model and it may be
98
+ # doing completely other things (e. g. accessing a database column).
99
+ #
100
+ @baggies ||= {}
101
+ baggies = (@baggies[to_s.underscore.to_sym] ||= {})
102
+ baggies[baggie] = type
103
+ # END
104
+
88
105
  type_sym = type.to_sym
89
106
  typing = {integer: '.to_i', float: '.to_f',
90
- string: '.to_s'}[type_sym] || ''
91
- #p "add_accessor #{self.to_s} #{baggie.inspect} #{type_sym.inspect}"
107
+ string: '.to_s'}[type_sym] || ''
108
+ # p "add_accessor #{self.to_s} #{baggie.inspect} #{type_sym.inspect}"
92
109
 
93
110
  @baggies_date[baggie] = type if type_sym == :date
94
111
 
95
- unless type_sym == :boolean
96
- self.class_eval %{
97
- def #{accessor}
98
- self.bag && self.bag[:#{baggie}]
99
- end
100
- }
101
-
102
- self.class_eval %{
103
- def #{accessor}=(value)
104
- @attributes['bag'] = {} unless bag.is_a?(Hash)
105
- unless value.nil?
106
- self.bag[:#{baggie}] = value#{typing}
107
- else
108
- self.bag.delete(:#{baggie})
109
- nil
110
- end
111
- end
112
- }
113
-
114
- else ################ now boolean handling ###################
115
-
116
- self.class_eval %{
117
- def #{accessor}
118
- res = bag && bag[:#{baggie}]
119
- return res if res.class == FalseClass
120
- return res if res.class == TrueClass
121
- return res.to_i != 0
122
- res
123
- end
124
- }
125
-
126
- self.class_eval %{
127
- def #{accessor}=(value)
128
- @attributes['bag'] = {} unless bag.is_a?(Hash)
129
- falsys = [false, "false", 0, "0", nil]
130
- unless falsys.include?(value)
131
- self.bag[:#{baggie}] = (value == 'true') || value
132
- else
133
- self.bag.delete(:#{baggie})
134
- nil
135
- end
136
- end
137
- }
138
-
139
- self.class_eval %{
140
- def #{accessor}?
141
- #{accessor}
142
- end
143
- }
144
-
112
+ if type_sym == :boolean
113
+ class_eval %(
114
+ def #{accessor}
115
+ res = bag && bag[:#{baggie}]
116
+ return res if res.class == FalseClass
117
+ return res if res.class == TrueClass
118
+ return res.to_i != 0
119
+ res
120
+ end
121
+ )
122
+
123
+ class_eval %(
124
+ def #{accessor}=(value)
125
+ @attributes['bag'] = {} unless bag.is_a?(Hash)
126
+ falsys = [false, "false", 0, "0", nil]
127
+ unless falsys.include?(value)
128
+ self.bag[:#{baggie}] = (value == 'true') || value
129
+ else
130
+ self.bag.delete(:#{baggie})
131
+ nil
132
+ end
133
+ end
134
+ )
135
+
136
+ class_eval %(
137
+ def #{accessor}?
138
+ #{accessor}
139
+ end
140
+ )
141
+
142
+ else
143
+
144
+ class_eval %(
145
+ def #{accessor}
146
+ self.bag && self.bag[:#{baggie}]
147
+ end
148
+ )
149
+
150
+ class_eval %(
151
+ def #{accessor}=(value)
152
+ @attributes['bag'] = {} unless bag.is_a?(Hash)
153
+ unless value.nil?
154
+ self.bag[:#{baggie}] = value#{typing}
155
+ else
156
+ self.bag.delete(:#{baggie})
157
+ nil
158
+ end
159
+ end
160
+ )
145
161
  end
146
-
147
162
  end
148
-
149
163
  end
@@ -1,3 +1,11 @@
1
+ # rubocop: disable all
2
+
1
3
  module ActWithBag
2
- VERSION = '0.5.5'
4
+ VERSION = '1.0.3' # 2021-05-18
5
+ # VERSION = '1.0.2' # 2020-07-16
6
+ # VERSION = '1.0.1' # 2020-04-27
7
+ # VERSION = '1.0.0' # 2019-09-27
8
+ # VERSION = '0.5.7' # 2019-03-05
9
+ # VERSION = '0.5.6' # 2019-02-15
10
+ # VERSION = '0.5.5'
3
11
  end
data/test/test_helper.rb CHANGED
@@ -1,13 +1,16 @@
1
- require 'simplecov'
1
+ if ENV['COVERAGE']
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_filter '/test/'
5
+ end
6
+ end
2
7
 
3
- require 'rubygems'
8
+ #require 'rails/test_help'
4
9
  require 'minitest/autorun'
5
- require 'active_record'
10
+ require 'minitest/benchmark'
11
+ #require 'capybara/rails'
6
12
 
7
- #SimpleCov.start do
8
- # add_filter 'test'
9
- # command_name 'Minitest'
10
- #end
13
+ require 'active_record'
11
14
 
12
15
  ActiveRecord::Base.establish_connection({
13
16
  adapter: 'sqlite3',
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: act_with_bag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dittmar Krall
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-26 00:00:00.000000000 Z
11
+ date: 2021-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '12'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '12'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: appraisal
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
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: sqlite3
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
  description: Add a bag to a Rails model
56
84
  email:
57
85
  - dittmar.krall@matique.de
@@ -60,18 +88,22 @@ extensions: []
60
88
  extra_rdoc_files: []
61
89
  files:
62
90
  - ".gitignore"
91
+ - ".rubocop.yml"
63
92
  - ".ruby-gemset"
64
93
  - ".ruby-version"
65
94
  - ".travis.yml"
66
95
  - ".watchr"
67
96
  - Appraisals
68
97
  - Gemfile
98
+ - MIT-LICENSE
69
99
  - README.md
70
100
  - Rakefile
71
101
  - act_with_bag.gemspec
72
102
  - gemfiles/rails_5.0.gemfile
73
103
  - gemfiles/rails_5.1.gemfile
74
104
  - gemfiles/rails_5.2.gemfile
105
+ - gemfiles/rails_6.0.gemfile
106
+ - gemfiles/rails_6.1.gemfile
75
107
  - lib/act_with_bag.rb
76
108
  - lib/act_with_bag/version.rb
77
109
  - test/accessor_test.rb
@@ -103,8 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
135
  - !ruby/object:Gem::Version
104
136
  version: '0'
105
137
  requirements: []
106
- rubyforge_project:
107
- rubygems_version: 2.7.6
138
+ rubygems_version: 3.2.6
108
139
  signing_key:
109
140
  specification_version: 4
110
141
  summary: act_with_bag (baggies) gem