event_attribute 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fa4d4630a70af28e5ad77263e2eb85dceaf75371
4
+ data.tar.gz: 407b01afebb42217079da76e330cfaa12cc1eea3
5
+ SHA512:
6
+ metadata.gz: 30a39c9fde9a2ccb85c6aadfdad910948f2923614015e28131b804c7c90844d72c06af450ff9ebf5e41a1efd8da37f6f3c0651bd4e1dce2751817f0ec6f004bf
7
+ data.tar.gz: 0f3c5d861ed4bdcf74d2cd8667c8254b19ede23bb191848dae045a727105f9880d5ce7dda9982b0c0788f360ee41fdc18c30fc7390f636dd08b108fbef0f6f1d
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ *.db
2
+ test/*.log
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in event_attribute.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,47 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ event_attribute (1.0.0)
5
+ activesupport (>= 3.0.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activemodel (4.0.0)
11
+ activesupport (= 4.0.0)
12
+ builder (~> 3.1.0)
13
+ activerecord (4.0.0)
14
+ activemodel (= 4.0.0)
15
+ activerecord-deprecated_finders (~> 1.0.2)
16
+ activesupport (= 4.0.0)
17
+ arel (~> 4.0.0)
18
+ activerecord-deprecated_finders (1.0.3)
19
+ activesupport (4.0.0)
20
+ i18n (~> 0.6, >= 0.6.4)
21
+ minitest (~> 4.2)
22
+ multi_json (~> 1.3)
23
+ thread_safe (~> 0.1)
24
+ tzinfo (~> 0.3.37)
25
+ arel (4.0.0)
26
+ atomic (1.1.10)
27
+ builder (3.1.4)
28
+ i18n (0.6.4)
29
+ minitest (4.7.5)
30
+ multi_json (1.7.7)
31
+ mysql2 (0.3.11)
32
+ rake (10.1.0)
33
+ sqlite3 (1.3.7)
34
+ thread_safe (0.1.0)
35
+ atomic
36
+ tzinfo (0.3.37)
37
+
38
+ PLATFORMS
39
+ ruby
40
+
41
+ DEPENDENCIES
42
+ activerecord
43
+ bundler (~> 1.3)
44
+ event_attribute!
45
+ mysql2
46
+ rake
47
+ sqlite3
data/LICENSE.txt ADDED
@@ -0,0 +1,23 @@
1
+ Copyright (c) 2007 Jonathan Younger
2
+ Copyright (c) 2013 Andrew Kuklewicz, Chris Rhoden
3
+
4
+ MIT License
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining
7
+ a copy of this software and associated documentation files (the
8
+ "Software"), to deal in the Software without restriction, including
9
+ without limitation the rights to use, copy, modify, merge, publish,
10
+ distribute, sublicense, and/or sell copies of the Software, and to
11
+ permit persons to whom the Software is furnished to do so, subject to
12
+ the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be
15
+ included in all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,72 @@
1
+ # EventAttribute
2
+
3
+ EventAttribute allows you to turn your date/datetime columns in to boolean attributes.
4
+ Idea for this was taken from http://jamis.jamisbuck.org/articles/2005/12/14/two-tips-for-working-with-databases-in-rails
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ gem 'event_attribute'
11
+
12
+ And then execute:
13
+
14
+ $ bundle
15
+
16
+ Or install it yourself as:
17
+
18
+ $ gem install event_attribute
19
+
20
+ ## Usage
21
+
22
+ ```ruby
23
+ class Referral < ActiveRecord::Base
24
+ event_attribute :applied_at, :attribute => 'pending', :nil_equals => true
25
+ event_attribute :subscribed_on
26
+ end
27
+
28
+ referral = Referral.create(:applied_at => Time.now)
29
+ referral.pending? # => false
30
+ referral.subscribed? # => false
31
+
32
+ referral.pending = true
33
+ referral.applied_at # => nil
34
+ referral.pending? # => true
35
+
36
+ referral.subscribed = true
37
+ referral.subscribed_on # => Time.now
38
+ referral.subscribed? # => true
39
+ ```
40
+
41
+ ## Contributing
42
+
43
+ 1. Fork it
44
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
45
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
46
+ 4. Push to the branch (`git push origin my-new-feature`)
47
+ 5. Create new Pull Request
48
+
49
+ ### License
50
+
51
+ Copyright (c) 2007 Jonathan Younger, released under the MIT license
52
+ Copyright (c) 2013 Andrew Kuklewicz, Chris Rhoden
53
+
54
+ Permission is hereby granted, free of charge, to any person obtaining
55
+ a copy of this software and associated documentation files (the
56
+ "Software"), to deal in the Software without restriction, including
57
+ without limitation the rights to use, copy, modify, merge, publish,
58
+ distribute, sublicense, and/or sell copies of the Software, and to
59
+ permit persons to whom the Software is furnished to do so, subject to
60
+ the following conditions:
61
+
62
+ The above copyright notice and this permission notice shall be
63
+ included in all copies or substantial portions of the Software.
64
+
65
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
66
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
67
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
68
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
69
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
70
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
71
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
72
+
@@ -0,0 +1,42 @@
1
+ == Creating the test database
2
+
3
+ The default name for the test databases is "event_attribute_plugin_test". If you
4
+ want to use another database name then be sure to update the connection
5
+ adapter setups you want to test with in test/database.yml.
6
+
7
+ Make sure that you create database objects with the same user that you specified in
8
+ database.yml otherwise (on Postgres, at least) tests for default values will fail.
9
+
10
+ == Running with Rake
11
+
12
+ The easiest way to run the unit tests is through Rake. The default task runs
13
+ the entire test suite for the sqlite3 adapter. You can also run the suite on just
14
+ one adapter by passing the DB environment variable.
15
+
16
+ rake test DB=mysql
17
+
18
+ For more information, checkout the full array of rake tasks with "rake -T"
19
+
20
+ Rake can be found at http://rake.rubyforge.org
21
+
22
+ == Running by hand
23
+
24
+ Unit tests are located in test directory. If you only want to run a single test suite,
25
+ or don't want to bother with Rake, you can do so with something like:
26
+
27
+ cd test; DB=mysql ruby base_test.rb
28
+
29
+ That'll run the base suite using the MySQL adapter. Change the adapter
30
+ and test suite name as needed.
31
+
32
+ == Faster tests
33
+
34
+ If you are using a database that supports transactions, you can set the
35
+ "AR_TX_FIXTURES" environment variable to "yes" to use transactional fixtures.
36
+ This gives a very large speed boost. With rake:
37
+
38
+ rake AR_TX_FIXTURES=yes
39
+
40
+ Or, by hand:
41
+
42
+ AR_TX_FIXTURES=yes ruby -I connections/native_sqlite3 base_test.rb
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ require "bundler/gem_tasks"
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs.push 'lib'
6
+ t.libs.push 'test'
7
+ t.test_files = FileList['test/**/*_test.rb']
8
+ t.verbose = true
9
+ end
10
+
11
+ task :default => :test
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'event_attribute/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "event_attribute"
8
+ spec.version = EventAttribute::VERSION
9
+ spec.authors = ["Jonathan Younger", "Andrew Kuklewicz", "chrisrhoden"]
10
+ spec.email = ["chris@prx.org"]
11
+ spec.description = %q{EventAttribute allows you to turn your date/datetime columns in to boolean attributes in ActiveRecord.}
12
+ spec.summary = %q{Idea for this was taken from http://jamis.jamisbuck.org/articles/2005/12/14/two-tips-for-working-with-databases-in-rails}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+ spec.add_dependency "activesupport", ">= 3.0.0"
21
+
22
+ spec.add_development_dependency "activerecord"
23
+ spec.add_development_dependency "sqlite3"
24
+ spec.add_development_dependency "mysql2"
25
+ spec.add_development_dependency "bundler", "~> 1.3"
26
+ spec.add_development_dependency "rake"
27
+ end
@@ -0,0 +1,3 @@
1
+ module EventAttribute
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,96 @@
1
+ # -*- encoding : utf-8 -*-
2
+ #
3
+ # Copyright (c) 2007 Jonathan Younger
4
+ # Copyright (c) 2013 Andrew Kuklewicz, Chris Rhoden
5
+ #
6
+ # Permission is hereby granted, free of charge, to any person obtaining
7
+ # a copy of this software and associated documentation files (the
8
+ # "Software"), to deal in the Software without restriction, including
9
+ # without limitation the rights to use, copy, modify, merge, publish,
10
+ # distribute, sublicense, and/or sell copies of the Software, and to
11
+ # permit persons to whom the Software is furnished to do so, subject to
12
+ # the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be
15
+ # included in all copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24
+ require 'active_record'
25
+
26
+ # EventAttribute allows you to turn your date/datetime columns in to boolean attributes.
27
+ # Idea for this was taken from http://jamis.jamisbuck.org/articles/2005/12/14/two-tips-for-working-with-databases-in-rails
28
+ #
29
+ # class Referral < ActiveRecord::Base
30
+ # event_attribute :applied_at, :attribute => 'pending', :nil_equals => true
31
+ # event_attribute :subscribed_on
32
+ # end
33
+ #
34
+ # Example:
35
+ #
36
+ # referral = Referral.create(:applied_at => Time.now, :subscribed_on => nil)
37
+ # referral.pending? # => false
38
+ # referral.subscribed? # => false
39
+ #
40
+ # referral.pending = true
41
+ # referral.applied_at # => nil
42
+ # referral.pending? # => true
43
+ #
44
+ # referral.subscribed = true
45
+ # referral.subscribed_at # => Time.now
46
+ # referral.subscribed? # => true
47
+ #
48
+ # See EventAttribute::ClassMethods#event_attribute for configuration options
49
+
50
+ module EventAttribute #:nodoc:
51
+ require 'event_attribute/version'
52
+
53
+ extend ActiveSupport::Concern
54
+
55
+ module ClassMethods
56
+ # == Configuration options
57
+ #
58
+ # * <tt>attribute</tt> - name of the attribute that will be created in the model that returns true/false (default: column name minus '_at' or '_on')
59
+ # * <tt>nil_equals</tt> - whether or not the attribute should return true or false if the column is nil (default: false)
60
+ #
61
+ def event_attribute(column, options = {})
62
+ unless respond_to?(:event_attribute_attrs)
63
+ class_attribute :event_attributes
64
+ class_attribute :event_attribute_attrs
65
+ self.event_attributes, self.event_attribute_attrs = {}, {}
66
+ end
67
+
68
+ attribute = (options[:attribute] || (column.to_s =~ /_at|_on/ ? column.to_s[0...-3] : raise("Unable to create default attribute name"))).to_sym
69
+
70
+ nil_equals = options[:nil_equals] || false
71
+
72
+ self.event_attribute_attrs[attribute] = column
73
+ self.event_attributes[column] = nil_equals
74
+
75
+ create_attribute_accessors(attribute, column, nil_equals)
76
+ end
77
+
78
+ private
79
+
80
+ def create_attribute_accessors(attribute, column, nil_equals)
81
+ define_method(attribute) { (nil_equals ? self[column].nil? : !self[column].nil?) }
82
+ alias_method :"#{attribute.to_s}?", attribute
83
+
84
+ # define the method to set the field value
85
+ define_method(:"#{attribute.to_s}=") do |value|
86
+ if [true, "1", 1, "t", "true"].include? value
87
+ send("#{column}=", nil_equals ? nil : DateTime.now)
88
+ elsif [false, "0", 0, "f", "false"].include? value
89
+ send("#{column}=", nil_equals ? DateTime.now : nil)
90
+ end
91
+ end
92
+ end
93
+
94
+ end
95
+ end
96
+ ActiveRecord::Base.send :include, EventAttribute
@@ -0,0 +1,11 @@
1
+ require 'test/unit'
2
+ require 'active_record'
3
+ require "#{File.dirname(__FILE__)}/../lib/event_attribute"
4
+
5
+ config_location = File.dirname(__FILE__) + '/database.yml'
6
+
7
+ config = YAML::load(IO.read(config_location))
8
+ ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
9
+ ActiveRecord::Base.establish_connection(config[ENV['DB'] || 'sqlite3'])
10
+
11
+ load(File.dirname(__FILE__) + "/schema.rb")
data/test/database.yml ADDED
@@ -0,0 +1,17 @@
1
+ sqlite:
2
+ adapter: sqlite
3
+ database: event_attribute_plugin.sqlite.db
4
+ sqlite3:
5
+ adapter: sqlite3
6
+ database: event_attribute_plugin.sqlite3.db
7
+ postgresql:
8
+ :adapter: postgresql
9
+ :username: postgres
10
+ :password: postgres
11
+ :database: event_attribute_plugin_test
12
+ :min_messages: ERROR
13
+ mysql2:
14
+ adapter: mysql2
15
+ host: localhost
16
+ username: root
17
+ database: event_attribute_plugin_test
@@ -0,0 +1,146 @@
1
+ require File.join(File.dirname(__FILE__), "/abstract_unit")
2
+
3
+ class Referral < ActiveRecord::Base
4
+ event_attribute :applied_at, :attribute => 'pending', :nil_equals => true
5
+ event_attribute :subscribed_on
6
+ end
7
+
8
+ class EventAttributeTest < Test::Unit::TestCase
9
+ def setup
10
+ Referral.delete_all
11
+ end
12
+
13
+ def test_should_have_boolean_attribute_when_attribute_option_specified
14
+ referral = Referral.new
15
+ assert referral.respond_to?(:pending)
16
+ assert referral.respond_to?(:pending?)
17
+ assert referral.respond_to?(:pending=)
18
+ end
19
+
20
+ def test_should_have_default_attribute_when_attribute_option_not_specified
21
+ referral = Referral.new
22
+ assert referral.respond_to?(:subscribed)
23
+ assert referral.respond_to?(:subscribed?)
24
+ assert referral.respond_to?(:subscribed=)
25
+ end
26
+
27
+ def test_should_return_true_when_nil_equals_true_and_column_is_nil
28
+ referral = Referral.new(:applied_at => nil)
29
+ assert_nil referral.applied_at
30
+ assert referral.pending?
31
+ end
32
+
33
+ def test_should_return_nil_when_nil_equals_true_and_attribute_is_true
34
+ referral = Referral.new(:pending => true)
35
+ assert referral.pending?
36
+ assert_nil referral.applied_at
37
+ end
38
+
39
+ def test_should_return_nil_when_nil_equals_true_and_attribute_equals_integer_1
40
+ referral = Referral.new(:pending => 1)
41
+ assert referral.pending?
42
+ assert_nil referral.applied_at
43
+ end
44
+
45
+ def test_should_return_nil_when_nil_equals_true_and_attribute_equals_string_1
46
+ referral = Referral.new(:pending => "1")
47
+ assert referral.pending?
48
+ assert_nil referral.applied_at
49
+ end
50
+
51
+ def test_should_return_nil_when_nil_equals_true_and_attribute_equals_t
52
+ referral = Referral.new(:pending => "t")
53
+ assert referral.pending?
54
+ assert_nil referral.applied_at
55
+ end
56
+
57
+ def test_should_return_false_when_nil_equals_true_and_column_is_not_nil
58
+ referral = Referral.new(:applied_at => DateTime.now)
59
+ assert_not_nil referral.applied_at
60
+ assert !referral.pending?
61
+ end
62
+
63
+ def test_should_return_time_when_nil_equals_true_and_attribute_is_false
64
+ referral = Referral.new(:pending => false)
65
+ assert !referral.pending?
66
+ assert_kind_of DateTime, referral.applied_at
67
+ end
68
+
69
+ def test_should_return_time_when_nil_equals_true_and_attribute_equals_integer_0
70
+ referral = Referral.new(:pending => 0)
71
+ assert !referral.pending?
72
+ assert_kind_of DateTime, referral.applied_at
73
+ end
74
+
75
+ def test_should_return_time_when_nil_equals_true_and_attribute_equals_string_0
76
+ referral = Referral.new(:pending => "0")
77
+ assert !referral.pending?
78
+ assert_kind_of DateTime, referral.applied_at
79
+ end
80
+
81
+ def test_should_return_time_when_nil_equals_true_and_attribute_equals_f
82
+ referral = Referral.new(:pending => "f")
83
+ assert !referral.pending?
84
+ assert_kind_of DateTime, referral.applied_at
85
+ end
86
+
87
+ def test_should_return_false_when_nil_equals_false_and_column_is_nil
88
+ referral = Referral.new(:subscribed_on => nil)
89
+ assert_nil referral.subscribed_on
90
+ assert !referral.subscribed?
91
+ end
92
+
93
+ def test_should_return_date_when_nil_equals_false_and_attribute_is_true
94
+ referral = Referral.new(:subscribed => true)
95
+ assert referral.subscribed?
96
+ assert_kind_of Date, referral.subscribed_on
97
+ end
98
+
99
+ def test_should_return_date_when_nil_equals_false_and_attribute_equals_integer_1
100
+ referral = Referral.new(:subscribed => 1)
101
+ assert referral.subscribed?
102
+ assert_kind_of Date, referral.subscribed_on
103
+ end
104
+
105
+ def test_should_return_date_when_nil_equals_false_and_attribute_equals_string_1
106
+ referral = Referral.new(:subscribed => "1")
107
+ assert referral.subscribed?
108
+ assert_kind_of Date, referral.subscribed_on
109
+ end
110
+
111
+ def test_should_return_date_when_nil_equals_false_and_attribute_equals_t
112
+ referral = Referral.new(:subscribed => "t")
113
+ assert referral.subscribed?
114
+ assert_kind_of Date, referral.subscribed_on
115
+ end
116
+
117
+ def test_should_return_true_when_nil_equals_false_and_column_is_not_nil
118
+ referral = Referral.new(:subscribed_on => DateTime.now)
119
+ assert_not_nil referral.subscribed_on
120
+ assert referral.subscribed?
121
+ end
122
+
123
+ def test_should_return_nil_when_nil_equals_false_and_attribute_is_false
124
+ referral = Referral.new(:subscribed => false)
125
+ assert !referral.subscribed?
126
+ assert_nil referral.subscribed_on
127
+ end
128
+
129
+ def test_should_return_nil_when_nil_equals_false_and_attribute_equals_integer_0
130
+ referral = Referral.new(:subscribed => 0)
131
+ assert !referral.subscribed?
132
+ assert_nil referral.subscribed_on
133
+ end
134
+
135
+ def test_should_return_nil_when_nil_equals_false_and_attribute_equals_string_0
136
+ referral = Referral.new(:subscribed => "0")
137
+ assert !referral.subscribed?
138
+ assert_nil referral.subscribed_on
139
+ end
140
+
141
+ def test_should_return_nil_when_nil_equals_false_and_attribute_equals_f
142
+ referral = Referral.new(:subscribed => "f")
143
+ assert !referral.subscribed?
144
+ assert_nil referral.subscribed_on
145
+ end
146
+ end
data/test/schema.rb ADDED
@@ -0,0 +1,7 @@
1
+ ActiveRecord::Schema.define(:version => 1) do
2
+ create_table "referrals", :force => true do |t|
3
+ t.column :name, :string
4
+ t.column :applied_at, :datetime
5
+ t.column :subscribed_on, :date
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: event_attribute
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Jonathan Younger
8
+ - Andrew Kuklewicz
9
+ - chrisrhoden
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2013-07-16 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: activesupport
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 3.0.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - '>='
27
+ - !ruby/object:Gem::Version
28
+ version: 3.0.0
29
+ - !ruby/object:Gem::Dependency
30
+ name: activerecord
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - '>='
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: sqlite3
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: mysql2
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: bundler
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '1.3'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: '1.3'
85
+ - !ruby/object:Gem::Dependency
86
+ name: rake
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ description: EventAttribute allows you to turn your date/datetime columns in to boolean
100
+ attributes in ActiveRecord.
101
+ email:
102
+ - chris@prx.org
103
+ executables: []
104
+ extensions: []
105
+ extra_rdoc_files: []
106
+ files:
107
+ - .gitignore
108
+ - Gemfile
109
+ - Gemfile.lock
110
+ - LICENSE.txt
111
+ - README.md
112
+ - RUNNING_UNIT_TESTS
113
+ - Rakefile
114
+ - event_attribute.gemspec
115
+ - lib/event_attribute.rb
116
+ - lib/event_attribute/version.rb
117
+ - test/abstract_unit.rb
118
+ - test/database.yml
119
+ - test/event_attribute_test.rb
120
+ - test/schema.rb
121
+ homepage: ''
122
+ licenses:
123
+ - MIT
124
+ metadata: {}
125
+ post_install_message:
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ requirements: []
140
+ rubyforge_project:
141
+ rubygems_version: 2.0.3
142
+ signing_key:
143
+ specification_version: 4
144
+ summary: Idea for this was taken from http://jamis.jamisbuck.org/articles/2005/12/14/two-tips-for-working-with-databases-in-rails
145
+ test_files:
146
+ - test/abstract_unit.rb
147
+ - test/database.yml
148
+ - test/event_attribute_test.rb
149
+ - test/schema.rb