Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Move model naming into ActiveModel

  • Loading branch information...
commit 1c4d28ba314c8cdd0039becf3bc9e678219b8f46 1 parent 85f2f34
@josh josh authored
View
1  actionpack/test/activerecord/render_partial_with_record_identification_test.rb
@@ -126,6 +126,7 @@ def render_with_record_collection
end
class Game < Struct.new(:name, :id)
+ extend ActiveModel::Naming
def to_param
id.to_s
end
View
2  actionpack/test/controller/record_identifier_test.rb
@@ -1,6 +1,8 @@
require 'abstract_unit'
class Comment
+ extend ActiveModel::Naming
+
attr_reader :id
def save; @id = 1 end
def new_record?; @id.nil? end
View
1  actionpack/test/controller/redirect_test.rb
@@ -4,6 +4,7 @@ class WorkshopsController < ActionController::Base
end
class Workshop
+ extend ActiveModel::Naming
attr_accessor :id, :new_record
def initialize(id, new_record)
View
4 actionpack/test/lib/controller/fake_models.rb
@@ -1,4 +1,6 @@
class Customer < Struct.new(:name, :id)
+ extend ActiveModel::Naming
+
def to_param
id.to_s
end
@@ -12,6 +14,8 @@ class GoodCustomer < Customer
module Quiz
class Question < Struct.new(:name, :id)
+ extend ActiveModel::Naming
+
def to_param
id.to_s
end
View
1  actionpack/test/template/atom_feed_helper_test.rb
@@ -1,6 +1,7 @@
require 'abstract_unit'
Scroll = Struct.new(:id, :to_param, :title, :body, :updated_at, :created_at)
+Scroll.extend ActiveModel::Naming
class ScrollsController < ActionController::Base
FEEDS = {}
View
3  actionpack/test/template/prototype_helper_test.rb
@@ -1,8 +1,10 @@
require 'abstract_unit'
Bunny = Struct.new(:Bunny, :id)
+Bunny.extend ActiveModel::Naming
class Author
+ extend ActiveModel::Naming
attr_reader :id
def save; @id = 1 end
def new_record?; @id.nil? end
@@ -12,6 +14,7 @@ def name
end
class Article
+ extend ActiveModel::Naming
attr_reader :id
attr_reader :author_id
def save; @id = 1; @author_id = 1 end
View
1  actionpack/test/template/record_tag_helper_test.rb
@@ -1,6 +1,7 @@
require 'abstract_unit'
class Post
+ extend ActiveModel::Naming
def id
45
end
View
1  actionpack/test/template/test_test.rb
@@ -41,6 +41,7 @@ def test_homepage_url
def test_link_to_person
person = mock(:name => "David")
+ person.class.extend ActiveModel::Naming
expects(:mocha_mock_path).with(person).returns("/people/1")
assert_equal '<a href="/people/1">David</a>', link_to_person(person)
end
View
2  actionpack/test/template/url_helper_test.rb
@@ -494,6 +494,7 @@ def with_restful_routing
end
class Workshop
+ extend ActiveModel::Naming
attr_accessor :id, :new_record
def initialize(id, new_record)
@@ -510,6 +511,7 @@ def to_s
end
class Session
+ extend ActiveModel::Naming
attr_accessor :id, :workshop_id, :new_record
def initialize(id, new_record)
View
2  activemodel/lib/active_model.rb
@@ -29,6 +29,8 @@ module ActiveModel
autoload :Base, 'active_model/base'
autoload :DeprecatedErrorMethods, 'active_model/deprecated_error_methods'
autoload :Errors, 'active_model/errors'
+ autoload :Name, 'active_model/naming'
+ autoload :Naming, 'active_model/naming'
autoload :Observer, 'active_model/observing'
autoload :Observing, 'active_model/observing'
autoload :StateMachine, 'active_model/state_machine'
View
16 ...e_support/core_ext/module/model_naming.rb → activemodel/lib/active_model/naming.rb
@@ -1,7 +1,7 @@
require 'active_support/inflector'
-module ActiveSupport
- class ModelName < String
+module ActiveModel
+ class Name < String
attr_reader :singular, :plural, :element, :collection, :partial_path
alias_method :cache_key, :collection
@@ -14,12 +14,12 @@ def initialize(name)
@partial_path = "#{@collection}/#{@element}".freeze
end
end
-end
-class Module
- # Returns an ActiveSupport::ModelName object for module. It can be
- # used to retrieve all kinds of naming-related information.
- def model_name
- @model_name ||= ActiveSupport::ModelName.new(name)
+ module Naming
+ # Returns an ActiveModel::Name object for module. It can be
+ # used to retrieve all kinds of naming-related information.
+ def model_name
+ @_model_name ||= ActiveModel::Name.new(name)
+ end
end
end
View
7 ...test/core_ext/module/model_naming_test.rb → activemodel/test/cases/naming_test.rb
@@ -1,9 +1,8 @@
-require 'abstract_unit'
-require 'active_support/core_ext/module/model_naming'
+require 'cases/helper'
-class ModelNamingTest < Test::Unit::TestCase
+class NamingTest < Test::Unit::TestCase
def setup
- @model_name = ActiveSupport::ModelName.new('Post::TrackBack')
+ @model_name = ActiveModel::Name.new('Post::TrackBack')
end
def test_singular
View
1  activerecord/lib/active_record/base.rb
@@ -3145,6 +3145,7 @@ def clone_attribute_value(reader_method, attribute_name)
end
Base.class_eval do
+ extend ActiveModel::Naming
extend QueryCache::ClassMethods
include Validations
include Locking::Optimistic, Locking::Pessimistic
View
1  activeresource/lib/active_resource/base.rb
@@ -1086,6 +1086,7 @@ def method_missing(method_symbol, *arguments) #:nodoc:
end
class Base
+ extend ActiveModel::Naming
include CustomMethods, Validations
end
end
View
1  activesupport/lib/active_support/core_ext/module.rb
@@ -7,5 +7,4 @@
require 'active_support/core_ext/module/attr_accessor_with_default'
require 'active_support/core_ext/module/delegation'
require 'active_support/core_ext/module/loading'
-require 'active_support/core_ext/module/model_naming'
require 'active_support/core_ext/module/synchronization'
Please sign in to comment.
Something went wrong with that request. Please try again.