activerecord-mysql-unsigned 0.1.1 → 0.1.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
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