m2m_fast_insert 0.1.0 → 0.2.0
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 +7 -0
- data/.gitignore +2 -0
- data/.ruby-version +1 -0
- data/.travis.yml +2 -2
- data/lib/m2m_fast_insert/has_and_belongs_to_many_override.rb +5 -13
- data/lib/m2m_fast_insert/version.rb +1 -1
- data/m2m_fast_insert.gemspec +2 -0
- data/spec/m2m_fast_insert/base_spec.rb +2 -2
- data/spec/spec_helper.rb +3 -1
- metadata +45 -51
- data/.rvmrc +0 -5
- data/Gemfile.lock +0 -109
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 88cc29cf46fc6b132382cef73f80a838acf590c1
|
4
|
+
data.tar.gz: 5b02bcd3776e2c7f20fcc4ec763614f306f314c8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 08c0b19bd37edbc50374241d3ef3131513fd88dc0667c156e27055f39fd39158be79a0fd9ff6e386e3a735cff1f2df38f1aa0e16696607bfc0ff50482d142da4
|
7
|
+
data.tar.gz: cea1737b0b637ede9126770d2fededee51b79d00a5ae9a791c0fe0789964e134f393d3e54d1e382df07126f542f0a796daf4230d355b9f8f5c53b91323b5cef4
|
data/.gitignore
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.2.4
|
data/.travis.yml
CHANGED
@@ -1,20 +1,11 @@
|
|
1
1
|
module M2MFastInsert
|
2
2
|
module HasAndBelongsToManyOverride
|
3
|
-
|
4
|
-
included do
|
5
|
-
class_eval do
|
6
|
-
# Create Method chain if habtm is defined - This is because it goes down to AR::Base
|
7
|
-
# and errors because at the time of inclusion, there is none defined
|
8
|
-
alias_method_chain :has_and_belongs_to_many, :fast_inserts if self.method_defined? :has_and_belongs_to_many
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
# Rig the original habtm to call our method definition
|
3
|
+
# Decorate the original habtm to call our method definition
|
13
4
|
#
|
14
5
|
# name - Plural name of the model we're associating with
|
15
6
|
# options - see ActiveRecord docs
|
16
|
-
def
|
17
|
-
|
7
|
+
def has_and_belongs_to_many(name, options = {})
|
8
|
+
super
|
18
9
|
define_fast_methods_for_model(name, options)
|
19
10
|
end
|
20
11
|
|
@@ -35,4 +26,5 @@ module M2MFastInsert
|
|
35
26
|
end
|
36
27
|
end
|
37
28
|
end
|
38
|
-
|
29
|
+
|
30
|
+
ActiveRecord::Base.send :extend, M2MFastInsert::HasAndBelongsToManyOverride
|
data/m2m_fast_insert.gemspec
CHANGED
@@ -13,6 +13,7 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.homepage = ""
|
14
14
|
s.summary = %q{Fast Inserts for Rails Many to Many relations}
|
15
15
|
s.description = %q{}
|
16
|
+
s.license = "MIT"
|
16
17
|
|
17
18
|
s.rubyforge_project = "m2m_fast_insert"
|
18
19
|
|
@@ -28,4 +29,5 @@ Gem::Specification.new do |s|
|
|
28
29
|
s.add_development_dependency "rake"
|
29
30
|
s.add_development_dependency "rspec-rails"
|
30
31
|
s.add_development_dependency "sqlite3"
|
32
|
+
s.add_development_dependency "simplecov"
|
31
33
|
end
|
@@ -32,7 +32,7 @@ module M2MFastInsert
|
|
32
32
|
end
|
33
33
|
|
34
34
|
it "executes SQL" do
|
35
|
-
ActiveRecord::Base.connection.
|
35
|
+
expect(ActiveRecord::Base.connection).to receive(:execute).with(subject.sql)
|
36
36
|
subject.fast_insert
|
37
37
|
end
|
38
38
|
end
|
@@ -46,7 +46,7 @@ module M2MFastInsert
|
|
46
46
|
end
|
47
47
|
|
48
48
|
it "doesn't execute with an empty id list" do
|
49
|
-
ActiveRecord::Base.connection.
|
49
|
+
expect(ActiveRecord::Base.connection).to_not receive(:execute)
|
50
50
|
Base.new(id, join_column_name, table_name, join_table, []).fast_insert
|
51
51
|
end
|
52
52
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
SimpleCov.start
|
1
3
|
RSpec.configure do |config|
|
2
4
|
config.requires = %w[m2m_fast_insert sqlite3]
|
3
5
|
|
@@ -7,8 +9,8 @@ RSpec.configure do |config|
|
|
7
9
|
# in spec/support/ and its subdirectories.
|
8
10
|
Dir.glob(File.expand_path('../support/**/*.rb', __FILE__)).each { |file| require file }
|
9
11
|
|
10
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
11
12
|
config.run_all_when_everything_filtered = true
|
12
13
|
config.filter_run :focus
|
13
14
|
config.color = true
|
15
|
+
config.expect_with(:rspec) { |c| c.syntax = [:should, :expect] }
|
14
16
|
end
|
metadata
CHANGED
@@ -1,128 +1,129 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: m2m_fast_insert
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jon Phenow
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-05-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rails
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 3.0.0
|
22
|
-
- - <
|
20
|
+
- - "<"
|
23
21
|
- !ruby/object:Gem::Version
|
24
22
|
version: 4.0.0
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
|
-
- -
|
27
|
+
- - ">="
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: 3.0.0
|
33
|
-
- - <
|
30
|
+
- - "<"
|
34
31
|
- !ruby/object:Gem::Version
|
35
32
|
version: 4.0.0
|
36
33
|
- !ruby/object:Gem::Dependency
|
37
34
|
name: activerecord
|
38
35
|
requirement: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
36
|
requirements:
|
41
|
-
- -
|
37
|
+
- - ">="
|
42
38
|
- !ruby/object:Gem::Version
|
43
39
|
version: 3.0.0
|
44
|
-
- - <
|
40
|
+
- - "<"
|
45
41
|
- !ruby/object:Gem::Version
|
46
42
|
version: 4.0.0
|
47
43
|
type: :runtime
|
48
44
|
prerelease: false
|
49
45
|
version_requirements: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
46
|
requirements:
|
52
|
-
- -
|
47
|
+
- - ">="
|
53
48
|
- !ruby/object:Gem::Version
|
54
49
|
version: 3.0.0
|
55
|
-
- - <
|
50
|
+
- - "<"
|
56
51
|
- !ruby/object:Gem::Version
|
57
52
|
version: 4.0.0
|
58
53
|
- !ruby/object:Gem::Dependency
|
59
54
|
name: activesupport
|
60
55
|
requirement: !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
56
|
requirements:
|
63
|
-
- -
|
57
|
+
- - ">="
|
64
58
|
- !ruby/object:Gem::Version
|
65
59
|
version: 3.0.0
|
66
|
-
- - <
|
60
|
+
- - "<"
|
67
61
|
- !ruby/object:Gem::Version
|
68
62
|
version: 4.0.0
|
69
63
|
type: :runtime
|
70
64
|
prerelease: false
|
71
65
|
version_requirements: !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
66
|
requirements:
|
74
|
-
- -
|
67
|
+
- - ">="
|
75
68
|
- !ruby/object:Gem::Version
|
76
69
|
version: 3.0.0
|
77
|
-
- - <
|
70
|
+
- - "<"
|
78
71
|
- !ruby/object:Gem::Version
|
79
72
|
version: 4.0.0
|
80
73
|
- !ruby/object:Gem::Dependency
|
81
74
|
name: rake
|
82
75
|
requirement: !ruby/object:Gem::Requirement
|
83
|
-
none: false
|
84
76
|
requirements:
|
85
|
-
- -
|
77
|
+
- - ">="
|
86
78
|
- !ruby/object:Gem::Version
|
87
79
|
version: '0'
|
88
80
|
type: :development
|
89
81
|
prerelease: false
|
90
82
|
version_requirements: !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
83
|
requirements:
|
93
|
-
- -
|
84
|
+
- - ">="
|
94
85
|
- !ruby/object:Gem::Version
|
95
86
|
version: '0'
|
96
87
|
- !ruby/object:Gem::Dependency
|
97
88
|
name: rspec-rails
|
98
89
|
requirement: !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
90
|
requirements:
|
101
|
-
- -
|
91
|
+
- - ">="
|
102
92
|
- !ruby/object:Gem::Version
|
103
93
|
version: '0'
|
104
94
|
type: :development
|
105
95
|
prerelease: false
|
106
96
|
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
none: false
|
108
97
|
requirements:
|
109
|
-
- -
|
98
|
+
- - ">="
|
110
99
|
- !ruby/object:Gem::Version
|
111
100
|
version: '0'
|
112
101
|
- !ruby/object:Gem::Dependency
|
113
102
|
name: sqlite3
|
114
103
|
requirement: !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
104
|
requirements:
|
117
|
-
- -
|
105
|
+
- - ">="
|
118
106
|
- !ruby/object:Gem::Version
|
119
107
|
version: '0'
|
120
108
|
type: :development
|
121
109
|
prerelease: false
|
122
110
|
version_requirements: !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
111
|
requirements:
|
125
|
-
- -
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '0'
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: simplecov
|
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
|
+
- - ">="
|
126
127
|
- !ruby/object:Gem::Version
|
127
128
|
version: '0'
|
128
129
|
description: ''
|
@@ -132,12 +133,11 @@ executables: []
|
|
132
133
|
extensions: []
|
133
134
|
extra_rdoc_files: []
|
134
135
|
files:
|
135
|
-
- .gitignore
|
136
|
-
- .rspec
|
137
|
-
- .
|
138
|
-
- .travis.yml
|
136
|
+
- ".gitignore"
|
137
|
+
- ".rspec"
|
138
|
+
- ".ruby-version"
|
139
|
+
- ".travis.yml"
|
139
140
|
- Gemfile
|
140
|
-
- Gemfile.lock
|
141
141
|
- MIT-LICENSE
|
142
142
|
- README.markdown
|
143
143
|
- Rakefile
|
@@ -153,34 +153,28 @@ files:
|
|
153
153
|
- spec/spec_helper.rb
|
154
154
|
- spec/support/test_model.rb
|
155
155
|
homepage: ''
|
156
|
-
licenses:
|
156
|
+
licenses:
|
157
|
+
- MIT
|
158
|
+
metadata: {}
|
157
159
|
post_install_message:
|
158
160
|
rdoc_options: []
|
159
161
|
require_paths:
|
160
162
|
- lib
|
161
163
|
required_ruby_version: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
164
|
requirements:
|
164
|
-
- -
|
165
|
+
- - ">="
|
165
166
|
- !ruby/object:Gem::Version
|
166
167
|
version: '0'
|
167
|
-
segments:
|
168
|
-
- 0
|
169
|
-
hash: -1663646844121288765
|
170
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
169
|
requirements:
|
173
|
-
- -
|
170
|
+
- - ">="
|
174
171
|
- !ruby/object:Gem::Version
|
175
172
|
version: '0'
|
176
|
-
segments:
|
177
|
-
- 0
|
178
|
-
hash: -1663646844121288765
|
179
173
|
requirements: []
|
180
174
|
rubyforge_project: m2m_fast_insert
|
181
|
-
rubygems_version:
|
175
|
+
rubygems_version: 2.4.8
|
182
176
|
signing_key:
|
183
|
-
specification_version:
|
177
|
+
specification_version: 4
|
184
178
|
summary: Fast Inserts for Rails Many to Many relations
|
185
179
|
test_files:
|
186
180
|
- spec/m2m_fast_insert/base_spec.rb
|
data/.rvmrc
DELETED
data/Gemfile.lock
DELETED
@@ -1,109 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
m2m_fast_insert (0.1.0)
|
5
|
-
activerecord (>= 3.0.0, < 4.0.0)
|
6
|
-
activesupport (>= 3.0.0, < 4.0.0)
|
7
|
-
rails (>= 3.0.0, < 4.0.0)
|
8
|
-
|
9
|
-
GEM
|
10
|
-
remote: http://rubygems.org/
|
11
|
-
specs:
|
12
|
-
actionmailer (3.2.15)
|
13
|
-
actionpack (= 3.2.15)
|
14
|
-
mail (~> 2.5.4)
|
15
|
-
actionpack (3.2.15)
|
16
|
-
activemodel (= 3.2.15)
|
17
|
-
activesupport (= 3.2.15)
|
18
|
-
builder (~> 3.0.0)
|
19
|
-
erubis (~> 2.7.0)
|
20
|
-
journey (~> 1.0.4)
|
21
|
-
rack (~> 1.4.5)
|
22
|
-
rack-cache (~> 1.2)
|
23
|
-
rack-test (~> 0.6.1)
|
24
|
-
sprockets (~> 2.2.1)
|
25
|
-
activemodel (3.2.15)
|
26
|
-
activesupport (= 3.2.15)
|
27
|
-
builder (~> 3.0.0)
|
28
|
-
activerecord (3.2.15)
|
29
|
-
activemodel (= 3.2.15)
|
30
|
-
activesupport (= 3.2.15)
|
31
|
-
arel (~> 3.0.2)
|
32
|
-
tzinfo (~> 0.3.29)
|
33
|
-
activeresource (3.2.15)
|
34
|
-
activemodel (= 3.2.15)
|
35
|
-
activesupport (= 3.2.15)
|
36
|
-
activesupport (3.2.15)
|
37
|
-
i18n (~> 0.6, >= 0.6.4)
|
38
|
-
multi_json (~> 1.0)
|
39
|
-
arel (3.0.2)
|
40
|
-
builder (3.0.4)
|
41
|
-
diff-lcs (1.2.5)
|
42
|
-
erubis (2.7.0)
|
43
|
-
hike (1.2.3)
|
44
|
-
i18n (0.6.5)
|
45
|
-
journey (1.0.4)
|
46
|
-
json (1.8.1)
|
47
|
-
mail (2.5.4)
|
48
|
-
mime-types (~> 1.16)
|
49
|
-
treetop (~> 1.4.8)
|
50
|
-
mime-types (1.25)
|
51
|
-
multi_json (1.8.2)
|
52
|
-
polyglot (0.3.3)
|
53
|
-
rack (1.4.5)
|
54
|
-
rack-cache (1.2)
|
55
|
-
rack (>= 0.4)
|
56
|
-
rack-ssl (1.3.3)
|
57
|
-
rack
|
58
|
-
rack-test (0.6.2)
|
59
|
-
rack (>= 1.0)
|
60
|
-
rails (3.2.15)
|
61
|
-
actionmailer (= 3.2.15)
|
62
|
-
actionpack (= 3.2.15)
|
63
|
-
activerecord (= 3.2.15)
|
64
|
-
activeresource (= 3.2.15)
|
65
|
-
activesupport (= 3.2.15)
|
66
|
-
bundler (~> 1.0)
|
67
|
-
railties (= 3.2.15)
|
68
|
-
railties (3.2.15)
|
69
|
-
actionpack (= 3.2.15)
|
70
|
-
activesupport (= 3.2.15)
|
71
|
-
rack-ssl (~> 1.3.2)
|
72
|
-
rake (>= 0.8.7)
|
73
|
-
rdoc (~> 3.4)
|
74
|
-
thor (>= 0.14.6, < 2.0)
|
75
|
-
rake (10.1.0)
|
76
|
-
rdoc (3.12.2)
|
77
|
-
json (~> 1.4)
|
78
|
-
rspec-core (2.14.7)
|
79
|
-
rspec-expectations (2.14.4)
|
80
|
-
diff-lcs (>= 1.1.3, < 2.0)
|
81
|
-
rspec-mocks (2.14.4)
|
82
|
-
rspec-rails (2.14.0)
|
83
|
-
actionpack (>= 3.0)
|
84
|
-
activesupport (>= 3.0)
|
85
|
-
railties (>= 3.0)
|
86
|
-
rspec-core (~> 2.14.0)
|
87
|
-
rspec-expectations (~> 2.14.0)
|
88
|
-
rspec-mocks (~> 2.14.0)
|
89
|
-
sprockets (2.2.2)
|
90
|
-
hike (~> 1.2)
|
91
|
-
multi_json (~> 1.0)
|
92
|
-
rack (~> 1.0)
|
93
|
-
tilt (~> 1.1, != 1.3.0)
|
94
|
-
sqlite3 (1.3.8)
|
95
|
-
thor (0.18.1)
|
96
|
-
tilt (1.4.1)
|
97
|
-
treetop (1.4.15)
|
98
|
-
polyglot
|
99
|
-
polyglot (>= 0.3.1)
|
100
|
-
tzinfo (0.3.38)
|
101
|
-
|
102
|
-
PLATFORMS
|
103
|
-
ruby
|
104
|
-
|
105
|
-
DEPENDENCIES
|
106
|
-
m2m_fast_insert!
|
107
|
-
rake
|
108
|
-
rspec-rails
|
109
|
-
sqlite3
|