flavors 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2d62b2d0d98f046e7bbb8aeaf9ca22a15c0f1c89
4
+ data.tar.gz: 5168ee5c701db40892224ffb46894228729d30b9
5
+ SHA512:
6
+ metadata.gz: 149e46c71be96a7d1157a57fc32c1e7a6cd0988d4081993f17bbd74218bf6f708ab91292f3fdbb31d9e655328c173e50c4ef82b660815d5ea308431711c0b451
7
+ data.tar.gz: fbbcaa05ec027615ceda2764276bce717189d1fc09d62ffa977e503273058f10ef9018eeb9096127cc1ae6735125ea2aa4e2be4b670d6d27e363c43ff4405b68
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - 2.1.0
data/README.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  Simple and flexible preferences integration for ActiveRecord models.
4
4
 
5
+ [![Gem Version](https://badge.fury.io/rb/flavors.svg)](http://badge.fury.io/rb/flavors)
6
+ [![Build Status](https://travis-ci.org/polydice/flavors.png?branch=master)](https://travis-ci.org/polydice/flavors)
7
+ [![Code Climate](https://codeclimate.com/github/polydice/flavors.png)](https://codeclimate.com/github/polydice/flavors)
8
+ [![Coverage Status](https://coveralls.io/repos/polydice/flavors/badge.png)](https://coveralls.io/r/polydice/flavors)
9
+
5
10
  ## Installation
6
11
 
7
12
  Add this line to your application's Gemfile:
@@ -25,7 +30,7 @@ Generate the migration for the preferences table and migrate the database:
25
30
 
26
31
  To add preferences to your ActiveRecord model, in your model file:
27
32
 
28
- ```
33
+ ```ruby
29
34
  class User < ActiveRecord::Base
30
35
  preference :receive_email, :default => true
31
36
  end
@@ -33,7 +38,7 @@ end
33
38
 
34
39
  Then you can then use the methods provided by flavors to read / write preferences.
35
40
 
36
- ```
41
+ ```ruby
37
42
  Loading development environment (Rails 3.2.12)
38
43
  irb(main):001:0> u = User.create(:email => "foo@bar.com")
39
44
  irb(main):002:0> u.notification
@@ -46,7 +51,7 @@ irb(main):004:0> u.notification
46
51
 
47
52
  From 0.2.0, Flavors also supports callback block for preference setter.
48
53
 
49
- ```
54
+ ```ruby
50
55
  class User < ActiveRecord::Base
51
56
  preference :receive_email, :default => true do |object, value|
52
57
  puts "#{object.name} sets preference to #{value}"
@@ -56,7 +61,7 @@ end
56
61
 
57
62
  When you set preference of instances, the callback block will be invoked.
58
63
 
59
- ```
64
+ ```ruby
60
65
  Loading development environment (Rails 3.2.12)
61
66
  irb(main):001:0> u = User.create(:name => "foo", :email => "foo@bar.com")
62
67
  irb(main):002:0> u.notification = true
data/flavors.gemspec CHANGED
@@ -17,12 +17,12 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
 
20
- gem.add_dependency "railties", "~> 3.1"
21
- gem.add_dependency "activesupport", "~> 3.2"
22
- gem.add_dependency "activerecord", "~> 3.2"
20
+ gem.add_dependency "railties", [">= 3.2", "< 4.2"]
21
+ gem.add_dependency "activesupport", [">= 3.2", "< 4.2"]
22
+ gem.add_dependency "activerecord", [">= 3.2", "< 4.2"]
23
23
 
24
- gem.add_development_dependency "rspec", "~> 2.12.0"
25
- gem.add_development_dependency "rake", "~> 10.0"
26
- gem.add_development_dependency "shoulda-matchers", "~> 1.4"
24
+ gem.add_development_dependency "rspec"
25
+ gem.add_development_dependency "rake"
26
+ gem.add_development_dependency "shoulda-matchers"
27
27
  gem.add_development_dependency "sqlite3"
28
28
  end
@@ -34,7 +34,7 @@ module Flavors
34
34
  end
35
35
 
36
36
  def write_preference(name, value)
37
- p = self.preferences.find_or_create_by_name(name)
37
+ p = self.preferences.where(:name => name).first_or_create
38
38
  p.update_attribute(:value, value)
39
39
  end
40
40
  end
@@ -1,3 +1,3 @@
1
1
  module Flavors
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
@@ -2,6 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe Flavors::Preference do
4
4
 
5
- it { should belong_to(:prefered) }
5
+ it { is_expected.to belong_to(:prefered) }
6
6
 
7
7
  end
@@ -14,38 +14,38 @@ describe Flavors::Preferences do
14
14
 
15
15
  subject { User.create }
16
16
 
17
- it "should have a default value" do
18
- subject.notification.should == true
17
+ it "has a default value" do
18
+ expect(subject.notification).to be_truthy
19
19
  end
20
20
 
21
- it "should update preference" do
21
+ it "updates preference" do
22
22
  subject.notification = false
23
- subject.notification.should == false
23
+ expect(subject.notification).to be_falsy
24
24
  end
25
25
 
26
- it "should scope preferences for different classes" do
26
+ it "scopes preferences for different classes" do
27
27
  expect {
28
28
  subject.sticky
29
29
  }.to raise_error NoMethodError
30
30
  end
31
31
 
32
- it "should scope default value for different classes" do
32
+ it "scopes default value for different classes" do
33
33
  Post.class_eval do
34
34
  preference :notification, :default => false
35
35
  end
36
36
 
37
- subject.notification.should be_true
37
+ expect(subject.notification).to be_truthy
38
38
  end
39
39
 
40
- it "should return if nil if no default value defined" do
40
+ it "returns if nil if no default value defined" do
41
41
  User.class_eval do
42
42
  preference :foo
43
43
  end
44
44
 
45
- subject.foo.should be_nil
45
+ expect(subject.foo).to be_nil
46
46
  end
47
47
 
48
- it "should invoke callback block" do
48
+ it "invokes callback block" do
49
49
  User.class_eval do
50
50
  def buz; end
51
51
 
@@ -54,14 +54,14 @@ describe Flavors::Preferences do
54
54
  end
55
55
  end
56
56
 
57
- subject.should_receive(:buz)
57
+ expect(subject).to receive(:buz)
58
58
  subject.bar = true
59
59
  end
60
60
 
61
- it "should respond to the preference name with question mark" do
62
- subject.should respond_to(:notification?)
63
- subject.notification?.should == true
61
+ it "responds to the preference name with question mark" do
62
+ expect(subject).to respond_to(:notification?)
63
+ expect(subject).to be_notification
64
64
  subject.notification = false
65
- subject.notification?.should == false
65
+ expect(subject).not_to be_notification
66
66
  end
67
67
  end
data/spec/spec_helper.rb CHANGED
@@ -5,8 +5,8 @@ require 'shoulda-matchers'
5
5
  require "rails/test_unit/railtie"
6
6
 
7
7
  RSpec.configure do |config|
8
- config.color_enabled = true
9
- config.formatter = 'documentation'
8
+ config.color = true
9
+ config.formatter = 'documentation'
10
10
  end
11
11
 
12
12
  # Define the application and configuration
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flavors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
5
- prerelease:
4
+ version: 0.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Yun
@@ -10,118 +9,122 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-03-04 00:00:00.000000000 Z
12
+ date: 2014-06-19 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: railties
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ~>
18
+ - - ">="
21
19
  - !ruby/object:Gem::Version
22
- version: '3.1'
20
+ version: '3.2'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '4.2'
23
24
  type: :runtime
24
25
  prerelease: false
25
26
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
27
  requirements:
28
- - - ~>
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: '3.2'
31
+ - - "<"
29
32
  - !ruby/object:Gem::Version
30
- version: '3.1'
33
+ version: '4.2'
31
34
  - !ruby/object:Gem::Dependency
32
35
  name: activesupport
33
36
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
37
  requirements:
36
- - - ~>
38
+ - - ">="
37
39
  - !ruby/object:Gem::Version
38
40
  version: '3.2'
41
+ - - "<"
42
+ - !ruby/object:Gem::Version
43
+ version: '4.2'
39
44
  type: :runtime
40
45
  prerelease: false
41
46
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
47
  requirements:
44
- - - ~>
48
+ - - ">="
45
49
  - !ruby/object:Gem::Version
46
50
  version: '3.2'
51
+ - - "<"
52
+ - !ruby/object:Gem::Version
53
+ version: '4.2'
47
54
  - !ruby/object:Gem::Dependency
48
55
  name: activerecord
49
56
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
57
  requirements:
52
- - - ~>
58
+ - - ">="
53
59
  - !ruby/object:Gem::Version
54
60
  version: '3.2'
61
+ - - "<"
62
+ - !ruby/object:Gem::Version
63
+ version: '4.2'
55
64
  type: :runtime
56
65
  prerelease: false
57
66
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
67
  requirements:
60
- - - ~>
68
+ - - ">="
61
69
  - !ruby/object:Gem::Version
62
70
  version: '3.2'
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: '4.2'
63
74
  - !ruby/object:Gem::Dependency
64
75
  name: rspec
65
76
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
77
  requirements:
68
- - - ~>
78
+ - - ">="
69
79
  - !ruby/object:Gem::Version
70
- version: 2.12.0
80
+ version: '0'
71
81
  type: :development
72
82
  prerelease: false
73
83
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
84
  requirements:
76
- - - ~>
85
+ - - ">="
77
86
  - !ruby/object:Gem::Version
78
- version: 2.12.0
87
+ version: '0'
79
88
  - !ruby/object:Gem::Dependency
80
89
  name: rake
81
90
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
91
  requirements:
84
- - - ~>
92
+ - - ">="
85
93
  - !ruby/object:Gem::Version
86
- version: '10.0'
94
+ version: '0'
87
95
  type: :development
88
96
  prerelease: false
89
97
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
98
  requirements:
92
- - - ~>
99
+ - - ">="
93
100
  - !ruby/object:Gem::Version
94
- version: '10.0'
101
+ version: '0'
95
102
  - !ruby/object:Gem::Dependency
96
103
  name: shoulda-matchers
97
104
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
105
  requirements:
100
- - - ~>
106
+ - - ">="
101
107
  - !ruby/object:Gem::Version
102
- version: '1.4'
108
+ version: '0'
103
109
  type: :development
104
110
  prerelease: false
105
111
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
112
  requirements:
108
- - - ~>
113
+ - - ">="
109
114
  - !ruby/object:Gem::Version
110
- version: '1.4'
115
+ version: '0'
111
116
  - !ruby/object:Gem::Dependency
112
117
  name: sqlite3
113
118
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
119
  requirements:
116
- - - ! '>='
120
+ - - ">="
117
121
  - !ruby/object:Gem::Version
118
122
  version: '0'
119
123
  type: :development
120
124
  prerelease: false
121
125
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
126
  requirements:
124
- - - ! '>='
127
+ - - ">="
125
128
  - !ruby/object:Gem::Version
126
129
  version: '0'
127
130
  description: Simple and flexible preferences integration for ActiveRecord models.
@@ -132,7 +135,8 @@ executables: []
132
135
  extensions: []
133
136
  extra_rdoc_files: []
134
137
  files:
135
- - .gitignore
138
+ - ".gitignore"
139
+ - ".travis.yml"
136
140
  - Gemfile
137
141
  - LICENSE.txt
138
142
  - README.md
@@ -153,33 +157,26 @@ files:
153
157
  - spec/support/user.rb
154
158
  homepage: https://github.com/polydice/flavors
155
159
  licenses: []
160
+ metadata: {}
156
161
  post_install_message:
157
162
  rdoc_options: []
158
163
  require_paths:
159
164
  - lib
160
165
  required_ruby_version: !ruby/object:Gem::Requirement
161
- none: false
162
166
  requirements:
163
- - - ! '>='
167
+ - - ">="
164
168
  - !ruby/object:Gem::Version
165
169
  version: '0'
166
- segments:
167
- - 0
168
- hash: -172098477842830363
169
170
  required_rubygems_version: !ruby/object:Gem::Requirement
170
- none: false
171
171
  requirements:
172
- - - ! '>='
172
+ - - ">="
173
173
  - !ruby/object:Gem::Version
174
174
  version: '0'
175
- segments:
176
- - 0
177
- hash: -172098477842830363
178
175
  requirements: []
179
176
  rubyforge_project:
180
- rubygems_version: 1.8.23
177
+ rubygems_version: 2.2.2
181
178
  signing_key:
182
- specification_version: 3
179
+ specification_version: 4
183
180
  summary: Add preferences to ActiveRecord models.
184
181
  test_files:
185
182
  - spec/preference_spec.rb