attribute_enums 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/.gitignore +5 -0
  2. data/CHANGELOG +4 -0
  3. data/README.markdown +4 -0
  4. data/attribute_enums.gemspec +9 -0
  5. data/lib/attribute_enums/version.rb +1 -1
  6. data/spec/models/active_record/user_spec.rb +33 -0
  7. data/spec/rails3_0_app/.gitignore +4 -0
  8. data/spec/rails3_0_app/.rspec +1 -0
  9. data/spec/rails3_0_app/Gemfile +12 -0
  10. data/spec/rails3_0_app/Rakefile +7 -0
  11. data/spec/rails3_0_app/app/controllers/application_controller.rb +3 -0
  12. data/spec/rails3_0_app/app/helpers/application_helper.rb +2 -0
  13. data/spec/rails3_0_app/app/models/user.rb +2 -0
  14. data/spec/rails3_0_app/app/views/layouts/application.html.erb +14 -0
  15. data/spec/rails3_0_app/config.ru +4 -0
  16. data/spec/rails3_0_app/config/application.rb +44 -0
  17. data/spec/rails3_0_app/config/boot.rb +6 -0
  18. data/spec/rails3_0_app/config/database.yml +19 -0
  19. data/spec/rails3_0_app/config/environment.rb +6 -0
  20. data/spec/rails3_0_app/config/environments/development.rb +26 -0
  21. data/spec/rails3_0_app/config/environments/production.rb +49 -0
  22. data/spec/rails3_0_app/config/environments/test.rb +35 -0
  23. data/spec/rails3_0_app/config/initializers/backtrace_silencers.rb +7 -0
  24. data/spec/rails3_0_app/config/initializers/inflections.rb +10 -0
  25. data/spec/rails3_0_app/config/initializers/mime_types.rb +5 -0
  26. data/spec/rails3_0_app/config/initializers/secret_token.rb +7 -0
  27. data/spec/rails3_0_app/config/initializers/session_store.rb +8 -0
  28. data/spec/rails3_0_app/config/locales/en.yml +5 -0
  29. data/spec/rails3_0_app/config/routes.rb +58 -0
  30. data/spec/rails3_0_app/db/migrate/20111129011508_create_users.rb +14 -0
  31. data/spec/rails3_0_app/db/schema.rb +23 -0
  32. data/spec/rails3_0_app/db/seeds.rb +7 -0
  33. data/spec/rails3_0_app/lib/tasks/.gitkeep +0 -0
  34. data/spec/rails3_0_app/public/404.html +26 -0
  35. data/spec/rails3_0_app/public/422.html +26 -0
  36. data/spec/rails3_0_app/public/500.html +26 -0
  37. data/spec/rails3_0_app/public/favicon.ico +0 -0
  38. data/spec/rails3_0_app/public/images/rails.png +0 -0
  39. data/spec/rails3_0_app/public/index.html +239 -0
  40. data/spec/rails3_0_app/public/robots.txt +5 -0
  41. data/spec/rails3_0_app/public/stylesheets/.gitkeep +0 -0
  42. data/spec/rails3_0_app/script/rails +6 -0
  43. data/spec/rails3_0_app/vendor/plugins/.gitkeep +0 -0
  44. data/spec/spec_helper.rb +20 -0
  45. data/spec/support/locales/user_en.yml +16 -0
  46. metadata +169 -14
data/.gitignore CHANGED
@@ -2,3 +2,8 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
+
6
+
7
+ spec/rails3_0_app/db/*.sqlite3
8
+ spec/rails3_0_app/log/*
9
+ spec/rails3_0_app/tmp/*
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.1.1
2
+
3
+ * Add spec
4
+
1
5
  == 0.1.0
2
6
 
3
7
  * First release
data/README.markdown CHANGED
@@ -119,6 +119,10 @@ default `true`
119
119
  if your defined `default`, it set attribute `default` value before validate.
120
120
 
121
121
 
122
+ ##Run test for development
123
+
124
+ > guard
125
+
122
126
 
123
127
  ##Copyright
124
128
 
@@ -22,6 +22,15 @@ Gem::Specification.new do |s|
22
22
  s.add_development_dependency "rake"
23
23
  s.add_development_dependency "rspec"
24
24
  s.add_development_dependency "guard-rspec"
25
+
26
+ s.add_development_dependency "rails", "~> 3.0"
27
+ s.add_development_dependency "sqlite3-ruby"
28
+ s.add_development_dependency "rspec-rails", "~> 2.7.0"
29
+ s.add_development_dependency "capybara"
30
+ s.add_development_dependency "timecop"
31
+ s.add_development_dependency "pry"
32
+ s.add_development_dependency "pry-padrino"
33
+
25
34
  s.add_dependency "activerecord", "~> 3.0"
26
35
  s.add_dependency "activesupport", "~> 3.0"
27
36
  end
@@ -1,4 +1,4 @@
1
1
  module AttributeEnums
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
4
4
 
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ describe User do
4
+ context "test :in" do
5
+ before {
6
+ User.attribute_enums :gender, :in => [:female, :male]
7
+ }
8
+ it { User.male.new.gender.should == "male" }
9
+ it { User.female.new.gender.should == "female" }
10
+ it { User.get_gender_values.should == [["female", "Girl"], ["male", "Boy"]] }
11
+ it { User.gender_values.should == {"female"=>"Girl", "male"=>"Boy"} }
12
+
13
+ user = User.create(:gender => :male)
14
+ it { user.gender_text.should == "Boy" }
15
+ it { user.male?.should be_true }
16
+ it { user.female?.should be_false }
17
+ end
18
+
19
+ context "test :booleans" do
20
+ before {
21
+ User.attribute_enums :enable, :booleans => true
22
+ }
23
+ it { User.enable.new.enable.should == true }
24
+ it { User.not_enable.new.enable.should == false }
25
+ it { User.get_enable_values.should == [[true, "Yes"], [false, "No"]] }
26
+ it { User.enable_values.should == {true=>"Yes", false=>"No"} }
27
+
28
+ user = User.create(:enable => true)
29
+ it { user.enable_text.should == "Yes" }
30
+ it { user.enable.should be_true }
31
+ end
32
+ end
33
+
@@ -0,0 +1,4 @@
1
+ .bundle
2
+ db/*.sqlite3
3
+ log/*.log
4
+ tmp/
@@ -0,0 +1 @@
1
+ --colour
@@ -0,0 +1,12 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'rails', '3.0.11'
4
+ gem 'sqlite3-ruby', :require => 'sqlite3'
5
+
6
+ gem "attribute_enums", :path => '../../'
7
+
8
+ group :development do
9
+ gem 'pry'
10
+ gem 'pry-padrino'
11
+ end
12
+
@@ -0,0 +1,7 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+ require 'rake'
6
+
7
+ Rails30App::Application.load_tasks
@@ -0,0 +1,3 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery
3
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ class User < ActiveRecord::Base
2
+ end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Rails30App</title>
5
+ <%= stylesheet_link_tag :all %>
6
+ <%= javascript_include_tag :defaults %>
7
+ <%= csrf_meta_tag %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Rails30App::Application
@@ -0,0 +1,44 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require 'rails/all'
4
+
5
+ # If you have a Gemfile, require the gems listed there, including any gems
6
+ # you've limited to :test, :development, or :production.
7
+ Bundler.require(:default, Rails.env) if defined?(Bundler)
8
+
9
+ module Rails30App
10
+ class Application < Rails::Application
11
+ # Settings in config/environments/* take precedence over those specified here.
12
+ # Application configuration should go into files in config/initializers
13
+ # -- all .rb files in that directory are automatically loaded.
14
+
15
+ # Custom directories with classes and modules you want to be autoloadable.
16
+ # config.autoload_paths += %W(#{config.root}/extras)
17
+
18
+ # Only load the plugins named here, in the order given (default is alphabetical).
19
+ # :all can be used as a placeholder for all plugins not explicitly named.
20
+ # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
21
+
22
+ # Activate observers that should always be running.
23
+ # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
24
+
25
+ # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
26
+ # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
27
+ # config.time_zone = 'Central Time (US & Canada)'
28
+
29
+ # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
30
+ # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
31
+ # config.i18n.default_locale = :de
32
+
33
+ # JavaScript files you want as :defaults (application.js is always included).
34
+ # config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
35
+ config.action_view.javascript_expansions[:defaults] = %w()
36
+
37
+ # Configure the default encoding used in templates for Ruby 1.9.
38
+ config.encoding = "utf-8"
39
+
40
+ # Configure sensitive parameters which will be filtered from the log file.
41
+ config.filter_parameters += [:password]
42
+ end
43
+ end
44
+
@@ -0,0 +1,6 @@
1
+ require 'rubygems'
2
+
3
+ # Set up gems listed in the Gemfile.
4
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
5
+
6
+ require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
@@ -0,0 +1,19 @@
1
+ development:
2
+ adapter: sqlite3
3
+ database: db/development.sqlite3
4
+ pool: 5
5
+ timeout: 5000
6
+
7
+ test:
8
+ adapter: sqlite3
9
+ database: ":memory:"
10
+
11
+ production:
12
+ adapter: sqlite3
13
+ database: ":memory:"
14
+
15
+ #in_memory:
16
+ # adapter: sqlite3
17
+ # database: ":memory:"
18
+ # verbosity: quiet
19
+
@@ -0,0 +1,6 @@
1
+ # Load the rails application
2
+ require File.expand_path('../application', __FILE__)
3
+
4
+ # Initialize the rails application
5
+ Rails30App::Application.initialize!
6
+
@@ -0,0 +1,26 @@
1
+ Rails30App::Application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the webserver when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Log error messages when you accidentally call methods on nil.
10
+ config.whiny_nils = true
11
+
12
+ # Show full error reports and disable caching
13
+ config.consider_all_requests_local = true
14
+ config.action_view.debug_rjs = true
15
+ config.action_controller.perform_caching = false
16
+
17
+ # Don't care if the mailer can't send
18
+ config.action_mailer.raise_delivery_errors = false
19
+
20
+ # Print deprecation notices to the Rails logger
21
+ config.active_support.deprecation = :log
22
+
23
+ # Only use best-standards-support built into browsers
24
+ config.action_dispatch.best_standards_support = :builtin
25
+ end
26
+
@@ -0,0 +1,49 @@
1
+ Rails30App::Application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb
3
+
4
+ # The production environment is meant for finished, "live" apps.
5
+ # Code is not reloaded between requests
6
+ config.cache_classes = true
7
+
8
+ # Full error reports are disabled and caching is turned on
9
+ config.consider_all_requests_local = false
10
+ config.action_controller.perform_caching = true
11
+
12
+ # Specifies the header that your server uses for sending files
13
+ config.action_dispatch.x_sendfile_header = "X-Sendfile"
14
+
15
+ # For nginx:
16
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
17
+
18
+ # If you have no front-end server that supports something like X-Sendfile,
19
+ # just comment this out and Rails will serve the files
20
+
21
+ # See everything in the log (default is :info)
22
+ # config.log_level = :debug
23
+
24
+ # Use a different logger for distributed setups
25
+ # config.logger = SyslogLogger.new
26
+
27
+ # Use a different cache store in production
28
+ # config.cache_store = :mem_cache_store
29
+
30
+ # Disable Rails's static asset server
31
+ # In production, Apache or nginx will already do this
32
+ config.serve_static_assets = false
33
+
34
+ # Enable serving of images, stylesheets, and javascripts from an asset server
35
+ # config.action_controller.asset_host = "http://assets.example.com"
36
+
37
+ # Disable delivery errors, bad email addresses will be ignored
38
+ # config.action_mailer.raise_delivery_errors = false
39
+
40
+ # Enable threaded mode
41
+ # config.threadsafe!
42
+
43
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
44
+ # the I18n.default_locale when a translation can not be found)
45
+ config.i18n.fallbacks = true
46
+
47
+ # Send deprecation notices to registered listeners
48
+ config.active_support.deprecation = :notify
49
+ end
@@ -0,0 +1,35 @@
1
+ Rails30App::Application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb
3
+
4
+ # The test environment is used exclusively to run your application's
5
+ # test suite. You never need to work with it otherwise. Remember that
6
+ # your test database is "scratch space" for the test suite and is wiped
7
+ # and recreated between test runs. Don't rely on the data there!
8
+ config.cache_classes = true
9
+
10
+ # Log error messages when you accidentally call methods on nil.
11
+ config.whiny_nils = true
12
+
13
+ # Show full error reports and disable caching
14
+ config.consider_all_requests_local = true
15
+ config.action_controller.perform_caching = false
16
+
17
+ # Raise exceptions instead of rendering exception templates
18
+ config.action_dispatch.show_exceptions = false
19
+
20
+ # Disable request forgery protection in test environment
21
+ config.action_controller.allow_forgery_protection = false
22
+
23
+ # Tell Action Mailer not to deliver emails to the real world.
24
+ # The :test delivery method accumulates sent emails in the
25
+ # ActionMailer::Base.deliveries array.
26
+ config.action_mailer.delivery_method = :test
27
+
28
+ # Use SQL instead of Active Record's schema dumper when creating the test database.
29
+ # This is necessary if your schema can't be completely dumped by the schema dumper,
30
+ # like if you have constraints or database-specific column types
31
+ # config.active_record.schema_format = :sql
32
+
33
+ # Print deprecation notices to the stderr
34
+ config.active_support.deprecation = :stderr
35
+ end
@@ -0,0 +1,7 @@
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!
@@ -0,0 +1,10 @@
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
@@ -0,0 +1,5 @@
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
@@ -0,0 +1,7 @@
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'
@@ -0,0 +1,8 @@
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
@@ -0,0 +1,5 @@
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"
@@ -0,0 +1,58 @@
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
@@ -0,0 +1,14 @@
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
@@ -0,0 +1,23 @@
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
@@ -0,0 +1,7 @@
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
@@ -0,0 +1,26 @@
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>
@@ -0,0 +1,26 @@
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>
@@ -0,0 +1,26 @@
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
@@ -0,0 +1,239 @@
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>
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-Agent: *
5
+ # Disallow: /
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
File without changes
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,26 @@
1
1
  #encoding: utf-8
2
2
 
3
+ ENV["RAILS_ENV"] ||= 'test'
4
+ require "rails3_0_app/config/environment"
5
+ ActiveRecord::Migrator.migrate(File.expand_path("../rails3_0_app/db/migrate", __FILE__))
6
+ I18n.load_path << Dir[ File.expand_path("../support/locales/**/*.{rb,yml}", __FILE__) ]
7
+ I18n.reload!
8
+
9
+
3
10
  require "rubygems"
4
11
  require "bundler/setup"
5
12
  require "attribute_enums"
13
+ require "pry"
14
+
15
+ require 'rspec/rails'
16
+ require 'rspec/autorun'
17
+
18
+ require 'capybara/rspec'
19
+ require 'timecop'
20
+
21
+ Dir[File.expand_path("../support/**/*.rb", __FILE__)].each {|f| require f}
22
+
23
+ RSpec.configure do |config|
24
+ config.mock_with :rspec
25
+ end
6
26
 
@@ -0,0 +1,16 @@
1
+ en:
2
+ activerecord: #active_record
3
+ models:
4
+ user: User
5
+ attributes:
6
+ user:
7
+ gender: Gender
8
+ enable: Enable
9
+ enums:
10
+ gender:
11
+ female: Girl
12
+ male: Boy
13
+ enable:
14
+ "true": "Yes"
15
+ "false": "No"
16
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attribute_enums
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-26 00:00:00.000000000 Z
12
+ date: 2011-11-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &70955630 !ruby/object:Gem::Requirement
16
+ requirement: &75823160 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70955630
24
+ version_requirements: *75823160
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70955300 !ruby/object:Gem::Requirement
27
+ requirement: &75818310 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70955300
35
+ version_requirements: *75818310
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70954940 !ruby/object:Gem::Requirement
38
+ requirement: &75817850 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70954940
46
+ version_requirements: *75817850
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: guard-rspec
49
- requirement: &70954720 !ruby/object:Gem::Requirement
49
+ requirement: &75817010 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,87 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70954720
57
+ version_requirements: *75817010
58
+ - !ruby/object:Gem::Dependency
59
+ name: rails
60
+ requirement: &75816030 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '3.0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *75816030
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3-ruby
71
+ requirement: &75815150 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *75815150
80
+ - !ruby/object:Gem::Dependency
81
+ name: rspec-rails
82
+ requirement: &75814310 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 2.7.0
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *75814310
91
+ - !ruby/object:Gem::Dependency
92
+ name: capybara
93
+ requirement: &75813020 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *75813020
102
+ - !ruby/object:Gem::Dependency
103
+ name: timecop
104
+ requirement: &75812680 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *75812680
113
+ - !ruby/object:Gem::Dependency
114
+ name: pry
115
+ requirement: &75812460 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *75812460
124
+ - !ruby/object:Gem::Dependency
125
+ name: pry-padrino
126
+ requirement: &75811900 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: *75811900
58
135
  - !ruby/object:Gem::Dependency
59
136
  name: activerecord
60
- requirement: &70954430 !ruby/object:Gem::Requirement
137
+ requirement: &75811240 !ruby/object:Gem::Requirement
61
138
  none: false
62
139
  requirements:
63
140
  - - ~>
@@ -65,10 +142,10 @@ dependencies:
65
142
  version: '3.0'
66
143
  type: :runtime
67
144
  prerelease: false
68
- version_requirements: *70954430
145
+ version_requirements: *75811240
69
146
  - !ruby/object:Gem::Dependency
70
147
  name: activesupport
71
- requirement: &70954100 !ruby/object:Gem::Requirement
148
+ requirement: &76142100 !ruby/object:Gem::Requirement
72
149
  none: false
73
150
  requirements:
74
151
  - - ~>
@@ -76,7 +153,7 @@ dependencies:
76
153
  version: '3.0'
77
154
  type: :runtime
78
155
  prerelease: false
79
- version_requirements: *70954100
156
+ version_requirements: *76142100
80
157
  description: A model attribute enums plugin for Rails3. like 'symbolize' gem.
81
158
  email:
82
159
  - vkill.net@gmail.com
@@ -95,7 +172,46 @@ files:
95
172
  - lib/attribute_enums/active_record_extension.rb
96
173
  - lib/attribute_enums/railtie.rb
97
174
  - lib/attribute_enums/version.rb
175
+ - spec/models/active_record/user_spec.rb
176
+ - spec/rails3_0_app/.gitignore
177
+ - spec/rails3_0_app/.rspec
178
+ - spec/rails3_0_app/Gemfile
179
+ - spec/rails3_0_app/Rakefile
180
+ - spec/rails3_0_app/app/controllers/application_controller.rb
181
+ - spec/rails3_0_app/app/helpers/application_helper.rb
182
+ - spec/rails3_0_app/app/models/user.rb
183
+ - spec/rails3_0_app/app/views/layouts/application.html.erb
184
+ - spec/rails3_0_app/config.ru
185
+ - spec/rails3_0_app/config/application.rb
186
+ - spec/rails3_0_app/config/boot.rb
187
+ - spec/rails3_0_app/config/database.yml
188
+ - spec/rails3_0_app/config/environment.rb
189
+ - spec/rails3_0_app/config/environments/development.rb
190
+ - spec/rails3_0_app/config/environments/production.rb
191
+ - spec/rails3_0_app/config/environments/test.rb
192
+ - spec/rails3_0_app/config/initializers/backtrace_silencers.rb
193
+ - spec/rails3_0_app/config/initializers/inflections.rb
194
+ - spec/rails3_0_app/config/initializers/mime_types.rb
195
+ - spec/rails3_0_app/config/initializers/secret_token.rb
196
+ - spec/rails3_0_app/config/initializers/session_store.rb
197
+ - spec/rails3_0_app/config/locales/en.yml
198
+ - spec/rails3_0_app/config/routes.rb
199
+ - spec/rails3_0_app/db/migrate/20111129011508_create_users.rb
200
+ - spec/rails3_0_app/db/schema.rb
201
+ - spec/rails3_0_app/db/seeds.rb
202
+ - spec/rails3_0_app/lib/tasks/.gitkeep
203
+ - spec/rails3_0_app/public/404.html
204
+ - spec/rails3_0_app/public/422.html
205
+ - spec/rails3_0_app/public/500.html
206
+ - spec/rails3_0_app/public/favicon.ico
207
+ - spec/rails3_0_app/public/images/rails.png
208
+ - spec/rails3_0_app/public/index.html
209
+ - spec/rails3_0_app/public/robots.txt
210
+ - spec/rails3_0_app/public/stylesheets/.gitkeep
211
+ - spec/rails3_0_app/script/rails
212
+ - spec/rails3_0_app/vendor/plugins/.gitkeep
98
213
  - spec/spec_helper.rb
214
+ - spec/support/locales/user_en.yml
99
215
  homepage: https://github.com/vkill/attribute_enums
100
216
  licenses: []
101
217
  post_install_message:
@@ -121,5 +237,44 @@ signing_key:
121
237
  specification_version: 3
122
238
  summary: A model attribute enums plugin for Rails3. like 'symbolize' gem.
123
239
  test_files:
240
+ - spec/models/active_record/user_spec.rb
241
+ - spec/rails3_0_app/.gitignore
242
+ - spec/rails3_0_app/.rspec
243
+ - spec/rails3_0_app/Gemfile
244
+ - spec/rails3_0_app/Rakefile
245
+ - spec/rails3_0_app/app/controllers/application_controller.rb
246
+ - spec/rails3_0_app/app/helpers/application_helper.rb
247
+ - spec/rails3_0_app/app/models/user.rb
248
+ - spec/rails3_0_app/app/views/layouts/application.html.erb
249
+ - spec/rails3_0_app/config.ru
250
+ - spec/rails3_0_app/config/application.rb
251
+ - spec/rails3_0_app/config/boot.rb
252
+ - spec/rails3_0_app/config/database.yml
253
+ - spec/rails3_0_app/config/environment.rb
254
+ - spec/rails3_0_app/config/environments/development.rb
255
+ - spec/rails3_0_app/config/environments/production.rb
256
+ - spec/rails3_0_app/config/environments/test.rb
257
+ - spec/rails3_0_app/config/initializers/backtrace_silencers.rb
258
+ - spec/rails3_0_app/config/initializers/inflections.rb
259
+ - spec/rails3_0_app/config/initializers/mime_types.rb
260
+ - spec/rails3_0_app/config/initializers/secret_token.rb
261
+ - spec/rails3_0_app/config/initializers/session_store.rb
262
+ - spec/rails3_0_app/config/locales/en.yml
263
+ - spec/rails3_0_app/config/routes.rb
264
+ - spec/rails3_0_app/db/migrate/20111129011508_create_users.rb
265
+ - spec/rails3_0_app/db/schema.rb
266
+ - spec/rails3_0_app/db/seeds.rb
267
+ - spec/rails3_0_app/lib/tasks/.gitkeep
268
+ - spec/rails3_0_app/public/404.html
269
+ - spec/rails3_0_app/public/422.html
270
+ - spec/rails3_0_app/public/500.html
271
+ - spec/rails3_0_app/public/favicon.ico
272
+ - spec/rails3_0_app/public/images/rails.png
273
+ - spec/rails3_0_app/public/index.html
274
+ - spec/rails3_0_app/public/robots.txt
275
+ - spec/rails3_0_app/public/stylesheets/.gitkeep
276
+ - spec/rails3_0_app/script/rails
277
+ - spec/rails3_0_app/vendor/plugins/.gitkeep
124
278
  - spec/spec_helper.rb
279
+ - spec/support/locales/user_en.yml
125
280
  has_rdoc: