simple_group 0.4.0 → 0.5.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: '039af7efa148ef672e9c5b87c8e7e2865cd9df2e'
4
- data.tar.gz: 9dcb95fe258f967f878e35ef40e52adb7a787836
2
+ SHA256:
3
+ metadata.gz: d7036207fe56bf40c7ebb1b651824ecf939d1220fa90541f421f5bb2f0ffbc17
4
+ data.tar.gz: 808af7f7f09e2993a110b1d89386be23c563c715302aa2c2c2da98f0c46ef2c8
5
5
  SHA512:
6
- metadata.gz: 7840967ce6c2de3a16b44091b5b15114c787ee835417a2e6511ff8010a2c34cd8678eb4f6220a3ca1b70ced364f5589c7e70d5707ad6632ebf314d105b5f537f
7
- data.tar.gz: 9f683ce5bb9f31636c3a89d6a881c803a7189698beeb076104cc3538232058ee58f251a3ac61bbceb40e59e93f5c2368a9805a4846f73fe44d27b7794f543264
6
+ metadata.gz: 75fa5eff76ffd68d391f06b544866171cc114c78073f015255bfe9f53c016c99370c7e12d269c4ec7db6da76f2826558a7a337448556c96f8f6d1fe69ae96008
7
+ data.tar.gz: 6bfd576e17be89c2cf611b206a4482572cb70756ce70b14d7b53ca1ecebf207c495b17d0eba910e67efa22942e2877689546694cc16419e659b21d6c04c41d6c
@@ -0,0 +1,36 @@
1
+ name: Ruby Gem
2
+
3
+ on:
4
+ workflow_run:
5
+ workflows:
6
+ - Test
7
+ types:
8
+ - completed
9
+ branches: [ master ]
10
+
11
+ jobs:
12
+ build:
13
+ name: Build + Publish
14
+ runs-on: ubuntu-latest
15
+ permissions:
16
+ contents: read
17
+ packages: write
18
+
19
+ if: ${{ github.event.workflow_run.conclusion == 'success' }}
20
+ steps:
21
+ - uses: actions/checkout@v2
22
+ - name: Set up Ruby 2.6
23
+ uses: actions/setup-ruby@v1
24
+ with:
25
+ ruby-version: 2.6.x
26
+
27
+ - name: Publish to RubyGems
28
+ run: |
29
+ mkdir -p $HOME/.gem
30
+ touch $HOME/.gem/credentials
31
+ chmod 0600 $HOME/.gem/credentials
32
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
33
+ gem build *.gemspec
34
+ gem push *.gem
35
+ env:
36
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
@@ -0,0 +1,42 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby: [2.6, 2.7, 3.0, 3.1]
15
+ gemfile: [rails_5.0, rails_5.1, rails_5.2, rails_6.0, rails_6.1, rails_7.0]
16
+ exclude:
17
+ - ruby: 2.6
18
+ gemfile: rails_7.0
19
+ - ruby: 3.0
20
+ gemfile: rails_5.0
21
+ - ruby: 3.0
22
+ gemfile: rails_5.1
23
+ - ruby: 3.0
24
+ gemfile: rails_5.2
25
+ - ruby: 3.1
26
+ gemfile: rails_5.0
27
+ - ruby: 3.1
28
+ gemfile: rails_5.1
29
+ - ruby: 3.1
30
+ gemfile: rails_5.2
31
+ env:
32
+ BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
33
+
34
+ steps:
35
+ - uses: actions/checkout@v2
36
+ - name: Set up Ruby
37
+ uses: ruby/setup-ruby@v1
38
+ with:
39
+ ruby-version: ${{ matrix.ruby }}
40
+ bundler-cache: true
41
+ - name: Run tests
42
+ run: bundle exec rake
data/.gitignore CHANGED
@@ -8,4 +8,14 @@
8
8
  /spec/reports/
9
9
  /spec/internal/log/
10
10
  /tmp/
11
- *.sqlite3
11
+ /log/
12
+
13
+ # rspec failure tracking
14
+ .rspec_status
15
+ .ruby-version
16
+ Gemfile.lock
17
+ .circleci/config.processed.yml
18
+
19
+ /gemfiles/*.gemfile.lock
20
+ /gemfiles/.bundle
21
+ *.sqlite3
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --format documentation
2
2
  --color
3
+ --require spec_helper
data/Gemfile CHANGED
@@ -1,16 +1,5 @@
1
1
  source 'https://rubygems.org'
2
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
2
3
 
3
4
  # Specify your gem's dependencies in simple_group.gemspec
4
5
  gemspec
5
-
6
- rails_version = ENV['RAILS_VERSION'] || 'default'
7
-
8
- rails = case rails_version
9
- when 'master'
10
- { :github => 'rails/rails' }
11
- when 'default'
12
- '~> 4.0.0'
13
- else
14
- "~> #{rails_version}"
15
- end
16
- gem 'rails', rails
data/README.md CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  simple_group gem is able to add group function to ActiveRecord.
4
4
 
5
- [![Build Status](https://travis-ci.org/patorash/simple_group.svg?branch=master)](https://travis-ci.org/patorash/simple_group)
6
- [![Dependency Status](https://gemnasium.com/patorash/simple_group.svg)](https://gemnasium.com/patorash/simple_group)
5
+ [![Test](https://github.com/patorash/simple_group/actions/workflows/test.yml/badge.svg)](https://github.com/patorash/simple_group/actions/workflows/test.yml)
6
+
7
7
  [![Code Climate](https://codeclimate.com/github/patorash/simple_group/badges/gpa.svg)](https://codeclimate.com/github/patorash/simple_group)
8
8
  [![Test Coverage](https://codeclimate.com/github/patorash/simple_group/badges/coverage.svg)](https://codeclimate.com/github/patorash/simple_group)
9
9
 
10
10
  ## Installation
11
11
 
12
- ### Rails 4.0+
12
+ ### Rails 5.0+
13
13
 
14
14
  Add this line to your application's Gemfile:
15
15
 
data/Rakefile CHANGED
@@ -1,2 +1,6 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
2
3
 
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'activerecord', '~> 5.0.0'
4
+ gem 'activesupport', '~> 5.0.0'
5
+ gem 'railties', '~> 5.0.0'
6
+ gem 'sqlite3', '~> 1.3.0'
7
+
8
+ gemspec path: '../'
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'activerecord', '~> 5.1.0'
4
+ gem 'activesupport', '~> 5.1.0'
5
+ gem 'railties', '~> 5.1.0'
6
+ gem 'sqlite3', '~> 1.3.0'
7
+
8
+ gemspec path: '../'
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'activerecord', '~> 5.2.0'
4
+ gem 'activesupport', '~> 5.2.0'
5
+ gem 'railties', '~> 5.2.0'
6
+ gem 'sqlite3', '~> 1.4'
7
+
8
+ gemspec path: '../'
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'activerecord', '~> 6.0.0'
4
+ gem 'activesupport', '~> 6.0.0'
5
+ gem 'railties', '~> 6.0.0'
6
+ gem 'sqlite3', '~> 1.4'
7
+
8
+ gemspec path: '../'
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'activerecord', '~> 6.1.0'
4
+ gem 'activesupport', '~> 6.1.0'
5
+ gem 'railties', '~> 6.1.0'
6
+ gem 'sqlite3', '~> 1.4'
7
+
8
+ gemspec path: '../'
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'activerecord', '~> 7.0.0'
4
+ gem 'activesupport', '~> 7.0.0'
5
+ gem 'railties', '~> 7.0.0'
6
+ gem 'sqlite3', '~> 1.4'
7
+
8
+ gemspec path: '../'
@@ -24,8 +24,20 @@ module SimpleGroup
24
24
 
25
25
  def create_migration_file
26
26
  if self.class.orm_has_migration?
27
- migration_template 'migration.rb', 'db/migrate/simple_group_migration.rb'
27
+ migration_template 'migration.rb',
28
+ 'db/migrate/simple_group_migration.rb',
29
+ migration_version: migration_version
28
30
  end
29
31
  end
32
+
33
+ def migration_version
34
+ if over_rails5?
35
+ "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
36
+ end
37
+ end
38
+
39
+ def over_rails5?
40
+ Rails::VERSION::MAJOR >= 5
41
+ end
30
42
  end
31
43
  end
@@ -1,4 +1,4 @@
1
- class SimpleGroupMigration < ActiveRecord::Migration
1
+ class SimpleGroupMigration < ActiveRecord::Migration<%= migration_version %>
2
2
  def self.up
3
3
  create_table :simple_group_combinations do |t|
4
4
  t.references :group_item, polymorphic: true
@@ -2,12 +2,6 @@ module SimpleGroup
2
2
  class Combination < ::ActiveRecord::Base
3
3
  self.table_name = 'simple_group_combinations'
4
4
 
5
- if ::ActiveRecord::VERSION::MAJOR < 4
6
- attr_accessible :group_id, :group_type,
7
- :group_item_id, :group_item_type,
8
- :group, :group_item
9
- end
10
-
11
5
  belongs_to :group, polymorphic: true
12
6
  belongs_to :group_item, polymorphic: true
13
7
 
@@ -2,7 +2,6 @@ module SimpleGroup
2
2
  module Group
3
3
  def self.included(base)
4
4
  base.class_eval do
5
- belongs_to :group, polymorphic: true
6
5
  has_many :combinations, class_name: 'SimpleGroup::Combination', as: :group, dependent: :destroy, inverse_of: :group do
7
6
  def group_items
8
7
  includes(:group_item).map(&:group_item)
@@ -3,8 +3,7 @@ module SimpleGroup
3
3
 
4
4
  def self.included(base)
5
5
  base.class_eval do
6
- belongs_to :group_item, polymorphic: true
7
- has_many :combinations, :class_name => 'SimpleGroup::Combination', :as => :group_item, :dependent => :destroy do
6
+ has_many :combinations, class_name: 'SimpleGroup::Combination', as: :group_item, dependent: :destroy do
8
7
  def groups
9
8
  includes(:group).map(&:group)
10
9
  end
@@ -1,3 +1,3 @@
1
1
  module SimpleGroup
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.2"
3
3
  end
data/simple_group.gemspec CHANGED
@@ -12,16 +12,18 @@ Gem::Specification.new do |spec|
12
12
  spec.description = %q{simple_group is able to add group function to ActiveRecord.}
13
13
  spec.homepage = "https://github.com/patorash/simple_group"
14
14
  spec.license = "MIT"
15
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.6.0")
15
16
 
16
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
19
  spec.require_paths = ["lib"]
19
20
 
20
- spec.add_development_dependency "bundler", ">= 1.7.6"
21
- spec.add_development_dependency "rake", "~> 10.0"
21
+ spec.add_dependency "activerecord", '< 7.1.0', '>= 5.0.0'
22
+ spec.add_dependency "activesupport", '< 7.1.0', '>= 5.0.0'
23
+ spec.add_dependency "railties", '< 7.1.0', '>= 5.0.0'
24
+ spec.add_development_dependency 'rake', '>= 12.3.3'
22
25
  spec.add_development_dependency "pry"
23
- spec.add_development_dependency "rspec", ">= 3.0.0"
26
+ spec.add_development_dependency "rspec", "~> 3.0"
24
27
  spec.add_development_dependency "sqlite3"
25
- spec.add_development_dependency "database_rewinder", '~> 0.8.0'
26
- spec.add_development_dependency 'combustion', '~> 0.5.3'
28
+ spec.add_development_dependency 'database_cleaner', '~> 2.0'
27
29
  end
metadata CHANGED
@@ -1,73 +1,91 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_group
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toyoaki Oko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-16 00:00:00.000000000 Z
11
+ date: 2021-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.7.6
20
- type: :development
19
+ version: 5.0.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 7.1.0
23
+ type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: 1.7.6
29
+ version: 5.0.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 7.1.0
27
33
  - !ruby/object:Gem::Dependency
28
- name: rake
34
+ name: activesupport
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
37
+ - - ">="
32
38
  - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
39
+ version: 5.0.0
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: 7.1.0
43
+ type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
- - - "~>"
47
+ - - ">="
39
48
  - !ruby/object:Gem::Version
40
- version: '10.0'
49
+ version: 5.0.0
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: 7.1.0
41
53
  - !ruby/object:Gem::Dependency
42
- name: pry
54
+ name: railties
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
57
  - - ">="
46
58
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
59
+ version: 5.0.0
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: 7.1.0
63
+ type: :runtime
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
52
67
  - - ">="
53
68
  - !ruby/object:Gem::Version
54
- version: '0'
69
+ version: 5.0.0
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: 7.1.0
55
73
  - !ruby/object:Gem::Dependency
56
- name: rspec
74
+ name: rake
57
75
  requirement: !ruby/object:Gem::Requirement
58
76
  requirements:
59
77
  - - ">="
60
78
  - !ruby/object:Gem::Version
61
- version: 3.0.0
79
+ version: 12.3.3
62
80
  type: :development
63
81
  prerelease: false
64
82
  version_requirements: !ruby/object:Gem::Requirement
65
83
  requirements:
66
84
  - - ">="
67
85
  - !ruby/object:Gem::Version
68
- version: 3.0.0
86
+ version: 12.3.3
69
87
  - !ruby/object:Gem::Dependency
70
- name: sqlite3
88
+ name: pry
71
89
  requirement: !ruby/object:Gem::Requirement
72
90
  requirements:
73
91
  - - ">="
@@ -81,33 +99,47 @@ dependencies:
81
99
  - !ruby/object:Gem::Version
82
100
  version: '0'
83
101
  - !ruby/object:Gem::Dependency
84
- name: database_rewinder
102
+ name: rspec
85
103
  requirement: !ruby/object:Gem::Requirement
86
104
  requirements:
87
105
  - - "~>"
88
106
  - !ruby/object:Gem::Version
89
- version: 0.8.0
107
+ version: '3.0'
90
108
  type: :development
91
109
  prerelease: false
92
110
  version_requirements: !ruby/object:Gem::Requirement
93
111
  requirements:
94
112
  - - "~>"
95
113
  - !ruby/object:Gem::Version
96
- version: 0.8.0
114
+ version: '3.0'
115
+ - !ruby/object:Gem::Dependency
116
+ name: sqlite3
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
97
129
  - !ruby/object:Gem::Dependency
98
- name: combustion
130
+ name: database_cleaner
99
131
  requirement: !ruby/object:Gem::Requirement
100
132
  requirements:
101
133
  - - "~>"
102
134
  - !ruby/object:Gem::Version
103
- version: 0.5.3
135
+ version: '2.0'
104
136
  type: :development
105
137
  prerelease: false
106
138
  version_requirements: !ruby/object:Gem::Requirement
107
139
  requirements:
108
140
  - - "~>"
109
141
  - !ruby/object:Gem::Version
110
- version: 0.5.3
142
+ version: '2.0'
111
143
  description: simple_group is able to add group function to ActiveRecord.
112
144
  email:
113
145
  - chariderpato@gmail.com
@@ -115,15 +147,22 @@ executables: []
115
147
  extensions: []
116
148
  extra_rdoc_files: []
117
149
  files:
150
+ - ".github/workflows/gem-push.yml"
151
+ - ".github/workflows/test.yml"
118
152
  - ".gitignore"
119
153
  - ".rspec"
120
- - ".travis.yml"
121
154
  - Gemfile
122
155
  - LICENSE.txt
123
156
  - README.md
124
157
  - Rakefile
125
158
  - bin/console
126
159
  - bin/setup
160
+ - gemfiles/rails_5.0.gemfile
161
+ - gemfiles/rails_5.1.gemfile
162
+ - gemfiles/rails_5.2.gemfile
163
+ - gemfiles/rails_6.0.gemfile
164
+ - gemfiles/rails_6.1.gemfile
165
+ - gemfiles/rails_7.0.gemfile
127
166
  - lib/generators/simple_group/migration/migration_generator.rb
128
167
  - lib/generators/simple_group/migration/templates/active_record/migration.rb
129
168
  - lib/simple_group.rb
@@ -146,15 +185,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
185
  requirements:
147
186
  - - ">="
148
187
  - !ruby/object:Gem::Version
149
- version: '0'
188
+ version: 2.6.0
150
189
  required_rubygems_version: !ruby/object:Gem::Requirement
151
190
  requirements:
152
191
  - - ">="
153
192
  - !ruby/object:Gem::Version
154
193
  version: '0'
155
194
  requirements: []
156
- rubyforge_project:
157
- rubygems_version: 2.5.2
195
+ rubygems_version: 3.0.3.1
158
196
  signing_key:
159
197
  specification_version: 4
160
198
  summary: simple_group is able to add group function to ActiveRecord.
data/.travis.yml DELETED
@@ -1,10 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2.2
4
- - 2.3.3
5
- env:
6
- - RAILS_VERSION=5.0.1
7
- - RAILS_VERSION=4.2.7.1
8
- - RAILS_VERSION=4.1
9
- - RAILS_VERSION=4.0
10
- script: bundle exec rspec