Skip to content

Commit

Permalink
Merged with name_to_sym changes, changing BObama to RPaul!
Browse files Browse the repository at this point in the history
  • Loading branch information
aiwilliams committed Feb 14, 2009
2 parents d486d15 + 85f6a4e commit 97c9d3f
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
13 changes: 13 additions & 0 deletions lib/dataset/session_binding.rb
Expand Up @@ -158,6 +158,15 @@ def find_model(*args)
def name_model(*args)
dataset_session_binding.name_model(*args)
end

# Converts string names into symbols for use in naming models
#
# name_to_sym 'my name' => :my_name
# name_to_sym 'RPaul' => :r_paul
#
def name_to_sym(name)
dataset_session_binding.name_to_sym(name)
end
end

class SessionBinding # :nodoc:
Expand Down Expand Up @@ -238,6 +247,10 @@ def record_meta_for_type(record_type)
end
end

def name_to_sym(name)
name.to_s.underscore.gsub("'", "").gsub("\"", "").gsub(" ", "_").to_sym if name
end

protected
def insert(dataset_record_class, record_type, *args)
symbolic_name, attributes = extract_creation_arguments args
Expand Down
12 changes: 12 additions & 0 deletions spec/dataset/session_binding_spec.rb
Expand Up @@ -157,6 +157,18 @@
end
end

describe 'name_to_sym' do
it 'should convert strings to symbols' do
@binding.name_to_sym(nil).should == nil
@binding.name_to_sym('thing').should == :thing
@binding.name_to_sym('Mything').should == :mything
@binding.name_to_sym('MyThing').should == :my_thing
@binding.name_to_sym('My Thing').should == :my_thing
@binding.name_to_sym('"My Thing"').should == :my_thing
@binding.name_to_sym('\'My Thing\'').should == :my_thing
end
end

describe 'nested bindings' do
before do
@binding.create_model Thing, :mything, :name => 'my thing'
Expand Down

0 comments on commit 97c9d3f

Please sign in to comment.