attribute_enums 0.1.8 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/.gitignore +1 -3
  2. data/.rspec +1 -0
  3. data/CHANGELOG +4 -0
  4. data/Gemfile +1 -1
  5. data/README.markdown +61 -59
  6. data/attribute_enums.gemspec +5 -16
  7. data/lib/attribute_enums.rb +0 -4
  8. data/lib/attribute_enums/active_record.rb +122 -0
  9. data/lib/attribute_enums/common.rb +168 -0
  10. data/lib/attribute_enums/railtie.rb +2 -2
  11. data/lib/attribute_enums/version.rb +1 -1
  12. data/spec/common_and_active_record/ask_methods_options_spec.rb +58 -0
  13. data/spec/common_and_active_record/attribute_name_spec.rb +7 -0
  14. data/spec/common_and_active_record/boolean_options_spec.rb +43 -0
  15. data/spec/common_and_active_record/default_options_spec.rb +77 -0
  16. data/spec/common_and_active_record/i18n_options_spec.rb +116 -0
  17. data/spec/common_and_active_record/in_options_spec.rb +38 -0
  18. data/spec/common_and_active_record/readme_user_example_spec.rb +87 -0
  19. data/spec/common_and_active_record/scopeds_options_spec.rb +114 -0
  20. data/spec/common_and_active_record/validate_options_spec.rb +82 -0
  21. data/spec/spec_helper.rb +5 -12
  22. data/spec/support/locales/person_en.yml +14 -0
  23. data/spec/support/locales/person_zh-CN.yml +14 -0
  24. data/spec/support/locales/user_en.yml +7 -15
  25. data/spec/support/models/person.rb +23 -0
  26. metadata +34 -229
  27. data/Guardfile +0 -22
  28. data/lib/attribute_enums/active_record_extension.rb +0 -88
  29. data/spec/models/active_record/user_spec.rb +0 -67
  30. data/spec/rails3_0_app/.gitignore +0 -4
  31. data/spec/rails3_0_app/.rspec +0 -1
  32. data/spec/rails3_0_app/Gemfile +0 -13
  33. data/spec/rails3_0_app/Rakefile +0 -7
  34. data/spec/rails3_0_app/app/controllers/application_controller.rb +0 -3
  35. data/spec/rails3_0_app/app/helpers/application_helper.rb +0 -2
  36. data/spec/rails3_0_app/app/models/user.rb +0 -2
  37. data/spec/rails3_0_app/app/views/layouts/application.html.erb +0 -14
  38. data/spec/rails3_0_app/config.ru +0 -4
  39. data/spec/rails3_0_app/config/application.rb +0 -44
  40. data/spec/rails3_0_app/config/boot.rb +0 -6
  41. data/spec/rails3_0_app/config/database.yml +0 -19
  42. data/spec/rails3_0_app/config/environment.rb +0 -6
  43. data/spec/rails3_0_app/config/environments/development.rb +0 -26
  44. data/spec/rails3_0_app/config/environments/production.rb +0 -49
  45. data/spec/rails3_0_app/config/environments/test.rb +0 -35
  46. data/spec/rails3_0_app/config/initializers/backtrace_silencers.rb +0 -7
  47. data/spec/rails3_0_app/config/initializers/inflections.rb +0 -10
  48. data/spec/rails3_0_app/config/initializers/mime_types.rb +0 -5
  49. data/spec/rails3_0_app/config/initializers/secret_token.rb +0 -7
  50. data/spec/rails3_0_app/config/initializers/session_store.rb +0 -8
  51. data/spec/rails3_0_app/config/locales/en.yml +0 -5
  52. data/spec/rails3_0_app/config/routes.rb +0 -58
  53. data/spec/rails3_0_app/db/migrate/20111129011508_create_users.rb +0 -14
  54. data/spec/rails3_0_app/db/schema.rb +0 -23
  55. data/spec/rails3_0_app/db/seeds.rb +0 -7
  56. data/spec/rails3_0_app/lib/tasks/.gitkeep +0 -0
  57. data/spec/rails3_0_app/public/404.html +0 -26
  58. data/spec/rails3_0_app/public/422.html +0 -26
  59. data/spec/rails3_0_app/public/500.html +0 -26
  60. data/spec/rails3_0_app/public/favicon.ico +0 -0
  61. data/spec/rails3_0_app/public/images/rails.png +0 -0
  62. data/spec/rails3_0_app/public/index.html +0 -239
  63. data/spec/rails3_0_app/public/robots.txt +0 -5
  64. data/spec/rails3_0_app/public/stylesheets/.gitkeep +0 -0
  65. data/spec/rails3_0_app/script/rails +0 -6
  66. data/spec/rails3_0_app/vendor/plugins/.gitkeep +0 -0
@@ -1,7 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
- # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
-
6
- # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
- # Rails.backtrace_cleaner.remove_silencers!
@@ -1,10 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new inflection rules using the following format
4
- # (all these examples are active by default):
5
- # ActiveSupport::Inflector.inflections do |inflect|
6
- # inflect.plural /^(ox)$/i, '\1en'
7
- # inflect.singular /^(ox)en/i, '\1'
8
- # inflect.irregular 'person', 'people'
9
- # inflect.uncountable %w( fish sheep )
10
- # end
@@ -1,5 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new mime types for use in respond_to blocks:
4
- # Mime::Type.register "text/richtext", :rtf
5
- # Mime::Type.register_alias "text/html", :iphone
@@ -1,7 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Your secret key for verifying the integrity of signed cookies.
4
- # If you change this key, all old signed cookies will become invalid!
5
- # Make sure the secret is at least 30 characters and all random,
6
- # no regular words or you'll be exposed to dictionary attacks.
7
- Rails30App::Application.config.secret_token = 'e93b53283138ddcacc201e0ffa9ca14be748db2d3fe10d7f0c484a869e3699d06c3677793167e40d734395676d395ff0ce2827b21555a9be65a3e2ab7a7641de'
@@ -1,8 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- Rails30App::Application.config.session_store :cookie_store, :key => '_rails3_0_app_session'
4
-
5
- # Use the database for sessions instead of the cookie-based default,
6
- # which shouldn't be used to store highly confidential information
7
- # (create the session table with "rails generate session_migration")
8
- # Rails30App::Application.config.session_store :active_record_store
@@ -1,5 +0,0 @@
1
- # Sample localization file for English. Add more files in this directory for other locales.
2
- # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
-
4
- en:
5
- hello: "Hello world"
@@ -1,58 +0,0 @@
1
- Rails30App::Application.routes.draw do
2
- # The priority is based upon order of creation:
3
- # first created -> highest priority.
4
-
5
- # Sample of regular route:
6
- # match 'products/:id' => 'catalog#view'
7
- # Keep in mind you can assign values other than :controller and :action
8
-
9
- # Sample of named route:
10
- # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
11
- # This route can be invoked with purchase_url(:id => product.id)
12
-
13
- # Sample resource route (maps HTTP verbs to controller actions automatically):
14
- # resources :products
15
-
16
- # Sample resource route with options:
17
- # resources :products do
18
- # member do
19
- # get 'short'
20
- # post 'toggle'
21
- # end
22
- #
23
- # collection do
24
- # get 'sold'
25
- # end
26
- # end
27
-
28
- # Sample resource route with sub-resources:
29
- # resources :products do
30
- # resources :comments, :sales
31
- # resource :seller
32
- # end
33
-
34
- # Sample resource route with more complex sub-resources
35
- # resources :products do
36
- # resources :comments
37
- # resources :sales do
38
- # get 'recent', :on => :collection
39
- # end
40
- # end
41
-
42
- # Sample resource route within a namespace:
43
- # namespace :admin do
44
- # # Directs /admin/products/* to Admin::ProductsController
45
- # # (app/controllers/admin/products_controller.rb)
46
- # resources :products
47
- # end
48
-
49
- # You can have the root of your site routed with "root"
50
- # just remember to delete public/index.html.
51
- # root :to => "welcome#index"
52
-
53
- # See how all your routes lay out with "rake routes"
54
-
55
- # This is a legacy wild controller route that's not recommended for RESTful applications.
56
- # Note: This route will make all actions in every controller accessible via GET requests.
57
- # match ':controller(/:action(/:id(.:format)))'
58
- end
@@ -1,14 +0,0 @@
1
- class CreateUsers < ActiveRecord::Migration
2
- def self.up
3
- create_table :users do |t|
4
- t.string :gender
5
- t.boolean :enable
6
-
7
- t.timestamps
8
- end
9
- end
10
-
11
- def self.down
12
- drop_table :users
13
- end
14
- end
@@ -1,23 +0,0 @@
1
- # encoding: UTF-8
2
- # This file is auto-generated from the current state of the database. Instead
3
- # of editing this file, please use the migrations feature of Active Record to
4
- # incrementally modify your database, and then regenerate this schema definition.
5
- #
6
- # Note that this schema.rb definition is the authoritative source for your
7
- # database schema. If you need to create the application database on another
8
- # system, you should be using db:schema:load, not running all the migrations
9
- # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
- # you'll amass, the slower it'll run and the greater likelihood for issues).
11
- #
12
- # It's strongly recommended to check this file into your version control system.
13
-
14
- ActiveRecord::Schema.define(:version => 20111129011508) do
15
-
16
- create_table "users", :force => true do |t|
17
- t.string "gender"
18
- t.boolean "enable"
19
- t.datetime "created_at"
20
- t.datetime "updated_at"
21
- end
22
-
23
- end
@@ -1,7 +0,0 @@
1
- # This file should contain all the record creation needed to seed the database with its default values.
2
- # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
3
- #
4
- # Examples:
5
- #
6
- # cities = City.create([{ :name => 'Chicago' }, { :name => 'Copenhagen' }])
7
- # Mayor.create(:name => 'Daley', :city => cities.first)
File without changes
@@ -1,26 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>The page you were looking for doesn't exist (404)</title>
5
- <style type="text/css">
6
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
- div.dialog {
8
- width: 25em;
9
- padding: 0 4em;
10
- margin: 4em auto 0 auto;
11
- border: 1px solid #ccc;
12
- border-right-color: #999;
13
- border-bottom-color: #999;
14
- }
15
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <!-- This file lives in public/404.html -->
21
- <div class="dialog">
22
- <h1>The page you were looking for doesn't exist.</h1>
23
- <p>You may have mistyped the address or the page may have moved.</p>
24
- </div>
25
- </body>
26
- </html>
@@ -1,26 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>The change you wanted was rejected (422)</title>
5
- <style type="text/css">
6
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
- div.dialog {
8
- width: 25em;
9
- padding: 0 4em;
10
- margin: 4em auto 0 auto;
11
- border: 1px solid #ccc;
12
- border-right-color: #999;
13
- border-bottom-color: #999;
14
- }
15
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <!-- This file lives in public/422.html -->
21
- <div class="dialog">
22
- <h1>The change you wanted was rejected.</h1>
23
- <p>Maybe you tried to change something you didn't have access to.</p>
24
- </div>
25
- </body>
26
- </html>
@@ -1,26 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>We're sorry, but something went wrong (500)</title>
5
- <style type="text/css">
6
- body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
- div.dialog {
8
- width: 25em;
9
- padding: 0 4em;
10
- margin: 4em auto 0 auto;
11
- border: 1px solid #ccc;
12
- border-right-color: #999;
13
- border-bottom-color: #999;
14
- }
15
- h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <!-- This file lives in public/500.html -->
21
- <div class="dialog">
22
- <h1>We're sorry, but something went wrong.</h1>
23
- <p>We've been notified about this issue and we'll take a look at it shortly.</p>
24
- </div>
25
- </body>
26
- </html>
File without changes
@@ -1,239 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Ruby on Rails: Welcome aboard</title>
5
- <style type="text/css" media="screen">
6
- body {
7
- margin: 0;
8
- margin-bottom: 25px;
9
- padding: 0;
10
- background-color: #f0f0f0;
11
- font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";
12
- font-size: 13px;
13
- color: #333;
14
- }
15
-
16
- h1 {
17
- font-size: 28px;
18
- color: #000;
19
- }
20
-
21
- a {color: #03c}
22
- a:hover {
23
- background-color: #03c;
24
- color: white;
25
- text-decoration: none;
26
- }
27
-
28
-
29
- #page {
30
- background-color: #f0f0f0;
31
- width: 750px;
32
- margin: 0;
33
- margin-left: auto;
34
- margin-right: auto;
35
- }
36
-
37
- #content {
38
- float: left;
39
- background-color: white;
40
- border: 3px solid #aaa;
41
- border-top: none;
42
- padding: 25px;
43
- width: 500px;
44
- }
45
-
46
- #sidebar {
47
- float: right;
48
- width: 175px;
49
- }
50
-
51
- #footer {
52
- clear: both;
53
- }
54
-
55
-
56
- #header, #about, #getting-started {
57
- padding-left: 75px;
58
- padding-right: 30px;
59
- }
60
-
61
-
62
- #header {
63
- background-image: url("images/rails.png");
64
- background-repeat: no-repeat;
65
- background-position: top left;
66
- height: 64px;
67
- }
68
- #header h1, #header h2 {margin: 0}
69
- #header h2 {
70
- color: #888;
71
- font-weight: normal;
72
- font-size: 16px;
73
- }
74
-
75
-
76
- #about h3 {
77
- margin: 0;
78
- margin-bottom: 10px;
79
- font-size: 14px;
80
- }
81
-
82
- #about-content {
83
- background-color: #ffd;
84
- border: 1px solid #fc0;
85
- margin-left: -55px;
86
- margin-right: -10px;
87
- }
88
- #about-content table {
89
- margin-top: 10px;
90
- margin-bottom: 10px;
91
- font-size: 11px;
92
- border-collapse: collapse;
93
- }
94
- #about-content td {
95
- padding: 10px;
96
- padding-top: 3px;
97
- padding-bottom: 3px;
98
- }
99
- #about-content td.name {color: #555}
100
- #about-content td.value {color: #000}
101
-
102
- #about-content ul {
103
- padding: 0;
104
- list-style-type: none;
105
- }
106
-
107
- #about-content.failure {
108
- background-color: #fcc;
109
- border: 1px solid #f00;
110
- }
111
- #about-content.failure p {
112
- margin: 0;
113
- padding: 10px;
114
- }
115
-
116
-
117
- #getting-started {
118
- border-top: 1px solid #ccc;
119
- margin-top: 25px;
120
- padding-top: 15px;
121
- }
122
- #getting-started h1 {
123
- margin: 0;
124
- font-size: 20px;
125
- }
126
- #getting-started h2 {
127
- margin: 0;
128
- font-size: 14px;
129
- font-weight: normal;
130
- color: #333;
131
- margin-bottom: 25px;
132
- }
133
- #getting-started ol {
134
- margin-left: 0;
135
- padding-left: 0;
136
- }
137
- #getting-started li {
138
- font-size: 18px;
139
- color: #888;
140
- margin-bottom: 25px;
141
- }
142
- #getting-started li h2 {
143
- margin: 0;
144
- font-weight: normal;
145
- font-size: 18px;
146
- color: #333;
147
- }
148
- #getting-started li p {
149
- color: #555;
150
- font-size: 13px;
151
- }
152
-
153
-
154
- #sidebar ul {
155
- margin-left: 0;
156
- padding-left: 0;
157
- }
158
- #sidebar ul h3 {
159
- margin-top: 25px;
160
- font-size: 16px;
161
- padding-bottom: 10px;
162
- border-bottom: 1px solid #ccc;
163
- }
164
- #sidebar li {
165
- list-style-type: none;
166
- }
167
- #sidebar ul.links li {
168
- margin-bottom: 5px;
169
- }
170
-
171
- </style>
172
- <script type="text/javascript">
173
- function about() {
174
- info = document.getElementById('about-content');
175
- if (window.XMLHttpRequest)
176
- { xhr = new XMLHttpRequest(); }
177
- else
178
- { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
179
- xhr.open("GET","rails/info/properties",false);
180
- xhr.send("");
181
- info.innerHTML = xhr.responseText;
182
- info.style.display = 'block'
183
- }
184
- </script>
185
- </head>
186
- <body>
187
- <div id="page">
188
- <div id="sidebar">
189
- <ul id="sidebar-items">
190
- <li>
191
- <h3>Browse the documentation</h3>
192
- <ul class="links">
193
- <li><a href="http://api.rubyonrails.org/">Rails API</a></li>
194
- <li><a href="http://stdlib.rubyonrails.org/">Ruby standard library</a></li>
195
- <li><a href="http://corelib.rubyonrails.org/">Ruby core</a></li>
196
- <li><a href="http://guides.rubyonrails.org/">Rails Guides</a></li>
197
- </ul>
198
- </li>
199
- </ul>
200
- </div>
201
-
202
- <div id="content">
203
- <div id="header">
204
- <h1>Welcome aboard</h1>
205
- <h2>You&rsquo;re riding Ruby on Rails!</h2>
206
- </div>
207
-
208
- <div id="about">
209
- <h3><a href="rails/info/properties" onclick="about(); return false">About your application&rsquo;s environment</a></h3>
210
- <div id="about-content" style="display: none"></div>
211
- </div>
212
-
213
- <div id="getting-started">
214
- <h1>Getting started</h1>
215
- <h2>Here&rsquo;s how to get rolling:</h2>
216
-
217
- <ol>
218
- <li>
219
- <h2>Use <code>rails generate</code> to create your models and controllers</h2>
220
- <p>To see all available options, run it without parameters.</p>
221
- </li>
222
-
223
- <li>
224
- <h2>Set up a default route and remove or rename this file</h2>
225
- <p>Routes are set up in config/routes.rb.</p>
226
- </li>
227
-
228
- <li>
229
- <h2>Create your database</h2>
230
- <p>Run <code>rake db:migrate</code> to create your database. If you're not using SQLite (the default), edit <code>config/database.yml</code> with your username and password.</p>
231
- </li>
232
- </ol>
233
- </div>
234
- </div>
235
-
236
- <div id="footer">&nbsp;</div>
237
- </div>
238
- </body>
239
- </html>