activerecord-mysql-unsigned 0.1.1 → 0.1.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
2
  SHA1:
3
- metadata.gz: 49fd5ea141df79c4b07954a2b4c1f41a2dc3dafa
4
- data.tar.gz: 6479ea5eccbfb9599f6c652baf985f3ba49b5ed1
3
+ metadata.gz: 0701a7029950db4d1a05d8de74aaadf39b035368
4
+ data.tar.gz: 737d28712950d180796320e100cbd87b24c050cc
5
5
  SHA512:
6
- metadata.gz: 7b5dcfbb334548aec6dad2153b2c51a283d665fa0eb93b5c979a90e52c8b2035204483fccf5572cec0a08b7261f4bb7b1c0e54ffc7243ed71590010c68e42ac6
7
- data.tar.gz: 72ae3399cbfc9d907f38f3efaddb93d1f9cd96838b17bca8ca947c1178fde424a433ada20a244ac5ddeaf236591d7b2c15db24f9f9ef110dfd2f1048b55681a6
6
+ metadata.gz: 8d735efbeba0b96dad50e43c07e98fe9910b4f1d18127a2341b53abf1d7daa5ad75936def02ef086f60d12101c396251338fbf76c7f00a76109f22147a99ffe3
7
+ data.tar.gz: 1e2d852d8f0f616c6e0c71d36a6465ef543591ba404c50d0a1bc63e5fc2280e7988141e1f46c91622357abf893aeea2295a2ca3169cf096687edd44aaddc1c56
data/README.md CHANGED
@@ -5,7 +5,7 @@ Add unsigned option to integer type for ActiveRecord's MySQL2 adapter.
5
5
  ## Support version
6
6
 
7
7
  ```
8
- ActiveRecord::VERSION >= 3.2 # include v4.0, and v4.1!
8
+ 4.2 > ActiveRecord::VERSION >= 3.2
9
9
  ```
10
10
 
11
11
  ## Installation
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
- spec.add_development_dependency "rspec"
23
+ spec.add_development_dependency "rspec", "~> 3.0.0"
24
24
  spec.add_development_dependency "database_cleaner"
25
25
  spec.add_runtime_dependency "activesupport", ">= 3.2", "< 4.2"
26
26
  spec.add_runtime_dependency "activerecord", ">= 3.2", "< 4.2"
@@ -9,7 +9,10 @@ module ActiveRecord
9
9
  def visit_AddColumn(o)
10
10
  sql_type = type_to_sql(o.type.to_sym, o.limit, o.precision, o.scale, o.unsigned)
11
11
  sql = "ADD #{quote_column_name(o.name)} #{sql_type}"
12
- add_column_options!(sql, column_options(o))
12
+ add_column_position!(
13
+ add_column_options!(sql, column_options(o)),
14
+ column_options(o)
15
+ )
13
16
  end
14
17
 
15
18
  def visit_ChangeColumnDefinition(o)
@@ -1,7 +1,7 @@
1
1
  module ActiveRecord
2
2
  module Mysql
3
3
  module Unsigned
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  end
6
6
  end
7
7
  end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe "after option" do
4
+ before :all do
5
+ AddColumnAfterToGoodsTable.change
6
+ end
7
+
8
+ it "insert 'added_after_name' column after 'name' column" do
9
+ name_num = added_after_name_num = 0
10
+
11
+ Goods.columns.each_with_index do |column, i|
12
+ name_num = i if column.name == "name"
13
+ added_after_name_num = i if column.name == "added_after_name"
14
+ end
15
+
16
+ expect(name_num + 1).to eq(added_after_name_num)
17
+ end
18
+ end
@@ -8,8 +8,7 @@ Dir["#{File.dirname(__FILE__)}/support/*.rb"].each {|file| require file}
8
8
 
9
9
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
10
10
  RSpec.configure do |config|
11
- config.treat_symbols_as_metadata_keys_with_true_values = true
12
11
  config.run_all_when_everything_filtered = true
13
12
  config.filter_run :focus
14
- config.color_enabled = true
13
+ config.color = true
15
14
  end
@@ -10,18 +10,22 @@ ActiveRecord::Base.establish_connection(config.merge(database: 'mysql'))
10
10
  ActiveRecord::Base.connection.drop_database(config[:database]) rescue nil
11
11
  ActiveRecord::Base.connection.create_database(config[:database])
12
12
  ActiveRecord::Base.establish_connection(config)
13
+ #ActiveRecord::Base.logger = Logger.new(STDOUT)
13
14
 
14
15
  ActiveRecord::Migration.verbose = true
15
16
 
17
+ # create goods table
16
18
  class CreateGoodsTable < ActiveRecord::Migration
17
19
  def self.change
18
20
  create_table :goods, force: true do |t|
19
21
  t.string :name, null: false
22
+ t.boolean :deleted, default: false
20
23
  end
21
24
  end
22
25
  end
23
26
  CreateGoodsTable.change
24
27
 
28
+ # create users table
25
29
  class CreateUsersTable < ActiveRecord::Migration
26
30
  def self.change
27
31
  create_table :users, force: true, id: false do |t|
@@ -42,7 +46,6 @@ class ChangePrimaryKeyToGoodsTable < ActiveRecord::Migration
42
46
  change_column :goods, :id, :integer, limit: 8, unsigned: true, null: false, auto_increment: true
43
47
  end
44
48
  end
45
- ChangePrimaryKeyToGoodsTable.change
46
49
 
47
50
  class ChangeColumnToUsersTable < ActiveRecord::Migration
48
51
  def self.change
@@ -52,11 +55,15 @@ class ChangeColumnToUsersTable < ActiveRecord::Migration
52
55
  change_column :users, :will_bigint, :integer, limit: 8
53
56
  end
54
57
  end
55
- ChangeColumnToUsersTable.change
56
58
 
57
59
  class AddColumnToUsersTable < ActiveRecord::Migration
58
60
  def self.change
59
61
  add_column :users, :added_unsigned_int, :integer, unsigned: true
60
62
  end
61
63
  end
62
- AddColumnToUsersTable.change
64
+
65
+ class AddColumnAfterToGoodsTable < ActiveRecord::Migration
66
+ def self.change
67
+ add_column :goods, :added_after_name, :integer, unsigned: true, after: :name
68
+ end
69
+ end
@@ -1,4 +1,7 @@
1
1
  require 'active_record'
2
2
 
3
+ class Goods < ActiveRecord::Base
4
+ end
5
+
3
6
  class User < ActiveRecord::Base
4
7
  end
@@ -1,23 +1,30 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "INT column" do
4
+
5
+ before :all do
6
+ ChangePrimaryKeyToGoodsTable.change
7
+ ChangeColumnToUsersTable.change
8
+ AddColumnToUsersTable.change
9
+ end
10
+
4
11
  before(:each) do
5
12
  @user = User.new(name: "bob")
6
13
  end
7
14
 
8
15
  it "max value of signed int" do
9
16
  @user.signed_int = 2147483647
10
- expect(@user.save).to be_true
17
+ expect(@user.save).to be_truthy
11
18
  end
12
19
 
13
20
  it "max value of unsigned int" do
14
21
  @user.unsigned_int = 4294967295
15
- expect(@user.save).to be_true
22
+ expect(@user.save).to be_truthy
16
23
  end
17
24
 
18
25
  it "allowed minus value of signed int" do
19
26
  @user.signed_int = -2147483648
20
- expect(@user.save).to be_true
27
+ expect(@user.save).to be_truthy
21
28
  end
22
29
 
23
30
  it "not allowed minus value of unsigned int" do
@@ -26,7 +33,7 @@ describe "INT column" do
26
33
  if ActiveRecord::VERSION::MAJOR == 4
27
34
  begin
28
35
  @user.save
29
- expect(true).to be_false # should not be reached here
36
+ expect(true).to be_falsey # should not be reached here
30
37
  rescue => e
31
38
  expect(e).to be_an_instance_of ActiveRecord::StatementInvalid
32
39
  end
@@ -37,10 +44,11 @@ describe "INT column" do
37
44
  end
38
45
  end
39
46
 
40
- it "unsigned column has 'unsigned' field" do
47
+ it "unsigned column has 'unsigned' attribute" do
41
48
  signed_int_col = User.columns[2]
42
- expect(signed_int_col.unsigned).to be_false
49
+ expect(signed_int_col.unsigned).to be_falsey
50
+
43
51
  unsigned_int_col = User.columns[3]
44
- expect(unsigned_int_col.unsigned).to be_true
52
+ expect(unsigned_int_col.unsigned).to be_truthy
45
53
  end
46
54
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-mysql-unsigned
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - yo_waka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-07 00:00:00.000000000 Z
11
+ date: 2014-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 3.0.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 3.0.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: database_cleaner
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -153,6 +153,7 @@ files:
153
153
  - lib/activerecord-mysql-unsigned/base.rb
154
154
  - lib/activerecord-mysql-unsigned/railtie.rb
155
155
  - lib/activerecord-mysql-unsigned/version.rb
156
+ - spec/after_option_spec.rb
156
157
  - spec/spec_helper.rb
157
158
  - spec/support/database_cleaner.rb
158
159
  - spec/support/migrations.rb
@@ -179,11 +180,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
180
  version: '0'
180
181
  requirements: []
181
182
  rubyforge_project:
182
- rubygems_version: 2.2.0
183
+ rubygems_version: 2.2.2
183
184
  signing_key:
184
185
  specification_version: 4
185
186
  summary: Add unsigned option to integer type for ActiveRecord's MySQL2 adapter
186
187
  test_files:
188
+ - spec/after_option_spec.rb
187
189
  - spec/spec_helper.rb
188
190
  - spec/support/database_cleaner.rb
189
191
  - spec/support/migrations.rb