simple_group 0.4.0 → 0.5.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: '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