army-negative 2.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,7 +21,10 @@ Gem::Specification.new do |s|
21
21
  Used for special cases, such as developing rails apps that must, for
22
22
  example, work with existing databases that use such a convention.
23
23
 
24
- Use versions ~> 2.0 for rails 2.x apps. and versions > 2 for rails 3 apps.
24
+ For a rails app version X.Y.Z, use army-negative version "~> X.Y.0". For
25
+ example, a rails 3.0.x app should use "~> 3.0.0" and a 3.1.x app would use
26
+ "~> 3.1.0", etc. The exception is that rails 2.3.x apps should just use
27
+ "~> 2.0" since 2.3 is the earliest version of rails that's supported.
25
28
  DESCRIPTION
26
29
 
27
30
  s.files = `git ls-files`.split("\n")
@@ -29,12 +32,12 @@ Gem::Specification.new do |s|
29
32
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
30
33
  s.require_paths = ["lib"]
31
34
 
32
- s.add_dependency "rails", "~> 2.3.0"
33
- s.add_dependency "mysql", "~> 2.8.1"
35
+ s.add_dependency "rails", "~> 3.0.0"
36
+ s.add_dependency "mysql2", "~> 0.2.11"
34
37
 
35
38
  if s.respond_to?(:add_development_dependency)
36
39
  s.add_development_dependency "bundler", "~> 1.0.18"
37
- s.add_development_dependency "cucumber", "~> 1.0.3"
40
+ s.add_development_dependency "cucumber", "~> 1.0.5"
38
41
  s.add_development_dependency "rspec", "~> 2.6.0"
39
42
  end
40
43
 
@@ -0,0 +1,5 @@
1
+ # encoding: utf-8
2
+ source :rubygems
3
+ gem "rails", "3.0.10"
4
+ gem "mysql2", "~> 0.2.13"
5
+ gem "army-negative", :path => "../"
@@ -1,8 +1,4 @@
1
1
  # encoding: utf-8
2
- require(File.join(File.dirname(__FILE__), 'config', 'boot'))
3
-
2
+ require File.expand_path('../config/application', __FILE__)
4
3
  require 'rake'
5
- require 'rake/testtask'
6
- require 'rake/rdoctask'
7
-
8
- require 'tasks/rails'
4
+ Dummy::Application.load_tasks
@@ -0,0 +1,3 @@
1
+ # encoding: utf-8
2
+ require ::File.expand_path('../config/environment', __FILE__)
3
+ run Dummy::Application
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require File.expand_path('../boot', __FILE__)
3
+ require 'rails/all'
4
+ Bundler.require(:default, Rails.env) if defined?(Bundler)
5
+ module Dummy
6
+ class Application < Rails::Application
7
+ config.encoding = "utf-8"
8
+ end
9
+ end
@@ -1,112 +1,4 @@
1
1
  # encoding: utf-8
2
- RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
3
-
4
- module Rails
5
- class << self
6
- def boot!
7
- unless booted?
8
- preinitialize
9
- pick_boot.run
10
- end
11
- end
12
-
13
- def booted?
14
- defined? Rails::Initializer
15
- end
16
-
17
- def pick_boot
18
- (vendor_rails? ? VendorBoot : GemBoot).new
19
- end
20
-
21
- def vendor_rails?
22
- File.exist?("#{RAILS_ROOT}/vendor/rails")
23
- end
24
-
25
- def preinitialize
26
- load(preinitializer_path) if File.exist?(preinitializer_path)
27
- end
28
-
29
- def preinitializer_path
30
- "#{RAILS_ROOT}/config/preinitializer.rb"
31
- end
32
- end
33
-
34
- class Boot
35
- def run
36
- load_initializer
37
- Rails::Initializer.run(:set_load_path)
38
- end
39
- end
40
-
41
- class VendorBoot < Boot
42
- def load_initializer
43
- require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
44
- Rails::Initializer.run(:install_gem_spec_stubs)
45
- Rails::GemDependency.add_frozen_gem_path
46
- end
47
- end
48
-
49
- class GemBoot < Boot
50
- def load_initializer
51
- self.class.load_rubygems
52
- load_rails_gem
53
- require 'initializer'
54
- end
55
-
56
- def load_rails_gem
57
- if version = self.class.gem_version
58
- gem 'rails', version
59
- else
60
- gem 'rails'
61
- end
62
- rescue Gem::LoadError => load_error
63
- if load_error.message =~ /Could not find RubyGem rails/
64
- STDERR.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
65
- exit 1
66
- else
67
- raise
68
- end
69
- end
70
-
71
- class << self
72
- def rubygems_version
73
- Gem::RubyGemsVersion rescue nil
74
- end
75
-
76
- def gem_version
77
- if defined? RAILS_GEM_VERSION
78
- RAILS_GEM_VERSION
79
- elsif ENV.include?('RAILS_GEM_VERSION')
80
- ENV['RAILS_GEM_VERSION']
81
- else
82
- parse_gem_version(read_environment_rb)
83
- end
84
- end
85
-
86
- def load_rubygems
87
- min_version = '1.3.2'
88
- require 'rubygems'
89
- unless rubygems_version >= min_version
90
- $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
91
- exit 1
92
- end
93
-
94
- rescue LoadError
95
- $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
96
- exit 1
97
- end
98
-
99
- def parse_gem_version(text)
100
- $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
101
- end
102
-
103
- private
104
- def read_environment_rb
105
- File.read("#{RAILS_ROOT}/config/environment.rb")
106
- end
107
- end
108
- end
109
- end
110
-
111
- # All that for this:
112
- Rails.boot!
2
+ require 'rubygems'
3
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
4
+ require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
@@ -1,21 +1,12 @@
1
1
  # MySQL. Versions 4.1 and 5.0 are recommended.
2
2
  #
3
3
  # Install the MySQL driver:
4
- # gem install mysql
5
- # On Mac OS X:
6
- # sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql
7
- # On Mac OS X Leopard:
8
- # sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
9
- # This sets the ARCHFLAGS environment variable to your native architecture
10
- # On Windows:
11
- # gem install mysql
12
- # Choose the win32 build.
13
- # Install MySQL and put its /bin directory on your path.
4
+ # gem install mysql2
14
5
  #
15
6
  # And be sure to use new-style password hashing:
16
7
  # http://dev.mysql.com/doc/refman/5.0/en/old-client.html
17
8
  development:
18
- adapter: mysql
9
+ adapter: mysql2
19
10
  encoding: utf8
20
11
  reconnect: false
21
12
  database: dummy_development
@@ -28,7 +19,7 @@ development:
28
19
  # re-generated from your development database when you run "rake".
29
20
  # Do not set this db to the same as development or production.
30
21
  test:
31
- adapter: mysql
22
+ adapter: mysql2
32
23
  encoding: utf8
33
24
  reconnect: false
34
25
  database: dummy_test
@@ -38,11 +29,11 @@ test:
38
29
  socket: /var/run/mysqld/mysqld.sock
39
30
 
40
31
  production:
41
- adapter: mysql
32
+ adapter: mysql2
42
33
  encoding: utf8
43
34
  reconnect: false
44
35
  database: dummy_production
45
36
  pool: 5
46
37
  username: root
47
- password:
38
+ password:
48
39
  socket: /var/run/mysqld/mysqld.sock
@@ -1,10 +1,3 @@
1
1
  # encoding: utf-8
2
-
3
- # Specifies gem version of Rails to use when vendor/rails is not present
4
- RAILS_GEM_VERSION = '2.3.14' unless defined? RAILS_GEM_VERSION
5
-
6
- # Bootstrap the Rails environment, frameworks, and default configuration
7
- require File.join(File.dirname(__FILE__), 'boot')
8
-
9
- Rails::Initializer.run do |config|
10
- end
2
+ require File.expand_path('../application', __FILE__)
3
+ Dummy::Application.initialize!
@@ -8,9 +8,9 @@ When /^I create a user named '([^']+)' with '([^']+)' set to true$/ do |username
8
8
  User.create :username => username, column.intern => true
9
9
  end
10
10
 
11
- Then /^the '([^']+)' column for '([^']+)' should be '([^']+)'$/ do |column, username, value|
11
+ Then /^the '([^']+)' column for '([^']+)' should be '(-?\d+)'$/ do |column, username, value|
12
12
  user = User.find_by_username(username)
13
- user.send("#{column}_before_type_cast").should == value
13
+ user.send("#{column}_before_type_cast").should == value.to_i
14
14
  end
15
15
 
16
16
  When /^I load a user named '([^']+)' who's '([^']+)' column is '(-?\d+)'$/ do |username, column, value|
@@ -1,4 +1,5 @@
1
1
  require 'army-negative/version'
2
+ require 'army-negative/railtie' if defined?(Rails)
2
3
 
3
4
  module Army
4
5
  module Negative
@@ -8,14 +9,12 @@ module Army
8
9
  autoload :MysqlAdapter, 'army-negative/mysql_adapter'
9
10
 
10
11
  #
11
- # Call this in an initializer in order to active army-negative and ensure
12
- # all true values get stored as -1 and -1's are recognized as true.
13
- #
14
- # Example:
15
- # require 'army-negative'
16
- # Army::Negative.activate!
12
+ # Called during gem initialization (via Army::Negative::Railtie) in order to
13
+ # active army-negative and ensure all true values get stored as -1 and that
14
+ # -1's are recognized as true.
17
15
  #
18
16
  def activate!
17
+ require 'active_record/connection_adapters/mysql_adapter'
19
18
  ActiveRecord::ConnectionAdapters::Column.send :extend, Column
20
19
  ActiveRecord::ConnectionAdapters::Quoting.send :include, Quoting
21
20
  ActiveRecord::ConnectionAdapters::MysqlAdapter.send :include, MysqlAdapter
@@ -0,0 +1,12 @@
1
+ require 'army-negative'
2
+ require 'rails'
3
+
4
+ module Army
5
+ module Negative
6
+ class Railtie < Rails::Railtie
7
+ initializer "army-negative.activate" do
8
+ ActiveSupport.on_load(:active_record) { Army::Negative.activate! }
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,7 +1,7 @@
1
1
  module Army
2
2
  module Negative
3
3
  module Version
4
- MAJOR = 2
4
+ MAJOR = 3
5
5
  MINOR = 0
6
6
  TINY = 0
7
7
  STRING = [MAJOR, MINOR, TINY].join(".")
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: army-negative
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
- - 2
7
+ - 3
8
8
  - 0
9
9
  - 0
10
- version: 2.0.0
10
+ version: 3.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kendall Gifford
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-12 00:00:00 Z
18
+ date: 2011-09-13 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  prerelease: false
@@ -25,12 +25,12 @@ dependencies:
25
25
  requirements:
26
26
  - - ~>
27
27
  - !ruby/object:Gem::Version
28
- hash: 3
28
+ hash: 7
29
29
  segments:
30
- - 2
31
30
  - 3
32
31
  - 0
33
- version: 2.3.0
32
+ - 0
33
+ version: 3.0.0
34
34
  version_requirements: *id001
35
35
  name: rails
36
36
  - !ruby/object:Gem::Dependency
@@ -41,14 +41,14 @@ dependencies:
41
41
  requirements:
42
42
  - - ~>
43
43
  - !ruby/object:Gem::Version
44
- hash: 45
44
+ hash: 1
45
45
  segments:
46
+ - 0
46
47
  - 2
47
- - 8
48
- - 1
49
- version: 2.8.1
48
+ - 11
49
+ version: 0.2.11
50
50
  version_requirements: *id002
51
- name: mysql
51
+ name: mysql2
52
52
  - !ruby/object:Gem::Dependency
53
53
  prerelease: false
54
54
  type: :development
@@ -73,12 +73,12 @@ dependencies:
73
73
  requirements:
74
74
  - - ~>
75
75
  - !ruby/object:Gem::Version
76
- hash: 17
76
+ hash: 29
77
77
  segments:
78
78
  - 1
79
79
  - 0
80
- - 3
81
- version: 1.0.3
80
+ - 5
81
+ version: 1.0.5
82
82
  version_requirements: *id004
83
83
  name: cucumber
84
84
  - !ruby/object:Gem::Dependency
@@ -106,7 +106,10 @@ description: |-
106
106
  as true as well.
107
107
  Used for special cases, such as developing rails apps that must, for
108
108
  example, work with existing databases that use such a convention.
109
- Use versions ~> 2.0 for rails 2.x apps. and versions > 2 for rails 3 apps.
109
+ For a rails app version X.Y.Z, use army-negative version "~> X.Y.0". For
110
+ example, a rails 3.0.x app should use "~> 3.0.0" and a 3.1.x app would use
111
+ "~> 3.1.0", etc. The exception is that rails 2.3.x apps should just use
112
+ "~> 2.0" since 2.3 is the earliest version of rails that's supported.
110
113
  email:
111
114
  - zettabyte@gmail.com
112
115
  executables: []
@@ -125,15 +128,15 @@ files:
125
128
  - README.rdoc
126
129
  - Rakefile
127
130
  - army-negative.gemspec
131
+ - dummy/Gemfile
128
132
  - dummy/Rakefile
129
133
  - dummy/app/models/user.rb
134
+ - dummy/config.ru
135
+ - dummy/config/application.rb
130
136
  - dummy/config/boot.rb
131
137
  - dummy/config/database.yml
132
138
  - dummy/config/environment.rb
133
139
  - dummy/config/environments/test.rb
134
- - dummy/config/initializers/army-negative.rb
135
- - dummy/config/initializers/session_store.rb
136
- - dummy/config/routes.rb
137
140
  - dummy/db/migrate/20110909225432_create_users.rb
138
141
  - dummy/db/schema.rb
139
142
  - dummy/test/fixtures/users.yml
@@ -144,6 +147,7 @@ files:
144
147
  - lib/army-negative/column.rb
145
148
  - lib/army-negative/mysql_adapter.rb
146
149
  - lib/army-negative/quoting.rb
150
+ - lib/army-negative/railtie.rb
147
151
  - lib/army-negative/version.rb
148
152
  homepage: http://github.com/zettabyte/army-negative
149
153
  licenses:
@@ -174,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
178
  requirements: []
175
179
 
176
180
  rubyforge_project:
177
- rubygems_version: 1.8.6
181
+ rubygems_version: 1.8.10
178
182
  signing_key:
179
183
  specification_version: 3
180
184
  summary: Monkey-patches ActiveRecord's MySQL (ARMy) connection adapter to store boolean trues as negative ones
@@ -1,3 +0,0 @@
1
- # encoding: utf-8
2
- require 'army-negative'
3
- Army::Negative.activate!
@@ -1,5 +0,0 @@
1
- # encoding: utf-8
2
- ActionController::Base.session = {
3
- :key => '_dummy_session',
4
- :secret => 'b52c736773f335f181876e4c807039d61c64b3416fb814d284f35314c4f869ccc834976ef187cce12b3fa85eea6897f27d23ba458581df8f1b4f622365b2a4b1'
5
- }
@@ -1 +0,0 @@
1
- # encoding: utf-8