symbolism 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +3 -0
- data/README.markdown +14 -0
- data/VERSION +1 -0
- data/features/class.feature +8 -0
- data/features/step_definitions/class_steps.rb +18 -0
- data/features/step_definitions/symbol_steps.rb +19 -0
- data/features/support/env.rb +4 -0
- data/features/symbol.feature +8 -0
- data/lib/symbolism.rb +2 -0
- data/lib/symbolism/class.rb +13 -0
- data/lib/symbolism/symbol.rb +17 -0
- data/symbolism.gemspec +26 -0
- metadata +128 -0
data/.gitignore
ADDED
data/README.markdown
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Symbolism
|
2
|
+
|
3
|
+
Convert a class to a symbol, and a symbol to a class.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
# gem install symbolism
|
8
|
+
|
9
|
+
## Usage
|
10
|
+
|
11
|
+
After requiring symbolism in your project, You can now convert _any_ symbol to a class, and _any_ class to a symbol.
|
12
|
+
|
13
|
+
String.to_sym #==> :string
|
14
|
+
:string.to_class #==> String
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.0
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Feature: Converting a class to a symbol
|
2
|
+
|
3
|
+
Scenario: Calling `to_sym` on a class
|
4
|
+
Given a class
|
5
|
+
When I call to_sym on it
|
6
|
+
Then I should receive the symbolized version of that class name
|
7
|
+
When I call to_class on that symbol
|
8
|
+
Then I should receive the original class back
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Given /^a class$/ do
|
2
|
+
end
|
3
|
+
|
4
|
+
When /^I call to_sym on it$/ do
|
5
|
+
@sym = String.to_sym
|
6
|
+
end
|
7
|
+
|
8
|
+
Then /^I should receive the symbolized version of that class name$/ do
|
9
|
+
@sym.should == :string
|
10
|
+
end
|
11
|
+
|
12
|
+
When /^I call to_class on that symbol$/ do
|
13
|
+
@class = @sym.to_class
|
14
|
+
end
|
15
|
+
|
16
|
+
Then /^I should receive the original class back$/ do
|
17
|
+
@class.should == String
|
18
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Given /^a symbol$/ do
|
2
|
+
@sym = :object
|
3
|
+
end
|
4
|
+
|
5
|
+
When /^I call to_class on it$/ do
|
6
|
+
@class = @sym.to_class
|
7
|
+
end
|
8
|
+
|
9
|
+
Then /^I should receive the class name that the symbol represented$/ do
|
10
|
+
@class.should == Object
|
11
|
+
end
|
12
|
+
|
13
|
+
When /^I call to_sym on that class$/ do
|
14
|
+
@sym = @class.to_sym
|
15
|
+
end
|
16
|
+
|
17
|
+
Then /^I should receive the original symbol back$/ do
|
18
|
+
@sym.should == :object
|
19
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Feature: Converting a symbol to a class
|
2
|
+
|
3
|
+
Scenario: Calling `to_class` on a symbol
|
4
|
+
Given a symbol
|
5
|
+
When I call to_class on it
|
6
|
+
Then I should receive the class name that the symbol represented
|
7
|
+
When I call to_sym on that class
|
8
|
+
Then I should receive the original symbol back
|
data/lib/symbolism.rb
ADDED
data/symbolism.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = %q{symbolism}
|
3
|
+
s.version = File.read "VERSION"
|
4
|
+
|
5
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
|
+
s.authors = ["Matt Parker"]
|
7
|
+
s.date = %q{2011-02-23}
|
8
|
+
s.description = %q{Converts classes to symbols, and symbols to classes.}
|
9
|
+
s.email = %q{moonmaster9000@gmail.com}
|
10
|
+
s.extra_rdoc_files = [
|
11
|
+
"README.markdown"
|
12
|
+
]
|
13
|
+
|
14
|
+
s.files = `git ls-files`.split("\n")
|
15
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
+
#s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
|
+
|
18
|
+
s.homepage = %q{http://github.com/moonmaster9000/symbolism}
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
s.rubygems_version = %q{1.5.0}
|
21
|
+
s.summary = %q{Converts classes to symbols, and symbols to classes.}
|
22
|
+
|
23
|
+
s.add_dependency(%q<activesupport>, ["~> 3.0"])
|
24
|
+
s.add_dependency(%q<i18n>, ["~> 0.5.0"])
|
25
|
+
s.add_development_dependency(%q<cucumber>, ["~> 0.10.0"])
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,128 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: symbolism
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 31
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 0.0.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Matt Parker
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-02-23 00:00:00 -05:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: activesupport
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 7
|
30
|
+
segments:
|
31
|
+
- 3
|
32
|
+
- 0
|
33
|
+
version: "3.0"
|
34
|
+
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: i18n
|
38
|
+
prerelease: false
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
|
+
requirements:
|
42
|
+
- - ~>
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 11
|
45
|
+
segments:
|
46
|
+
- 0
|
47
|
+
- 5
|
48
|
+
- 0
|
49
|
+
version: 0.5.0
|
50
|
+
type: :runtime
|
51
|
+
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: cucumber
|
54
|
+
prerelease: false
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ~>
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 55
|
61
|
+
segments:
|
62
|
+
- 0
|
63
|
+
- 10
|
64
|
+
- 0
|
65
|
+
version: 0.10.0
|
66
|
+
type: :development
|
67
|
+
version_requirements: *id003
|
68
|
+
description: Converts classes to symbols, and symbols to classes.
|
69
|
+
email: moonmaster9000@gmail.com
|
70
|
+
executables: []
|
71
|
+
|
72
|
+
extensions: []
|
73
|
+
|
74
|
+
extra_rdoc_files:
|
75
|
+
- README.markdown
|
76
|
+
files:
|
77
|
+
- .gitignore
|
78
|
+
- README.markdown
|
79
|
+
- VERSION
|
80
|
+
- features/class.feature
|
81
|
+
- features/step_definitions/class_steps.rb
|
82
|
+
- features/step_definitions/symbol_steps.rb
|
83
|
+
- features/support/env.rb
|
84
|
+
- features/symbol.feature
|
85
|
+
- lib/symbolism.rb
|
86
|
+
- lib/symbolism/class.rb
|
87
|
+
- lib/symbolism/symbol.rb
|
88
|
+
- symbolism.gemspec
|
89
|
+
has_rdoc: true
|
90
|
+
homepage: http://github.com/moonmaster9000/symbolism
|
91
|
+
licenses: []
|
92
|
+
|
93
|
+
post_install_message:
|
94
|
+
rdoc_options: []
|
95
|
+
|
96
|
+
require_paths:
|
97
|
+
- lib
|
98
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
hash: 3
|
104
|
+
segments:
|
105
|
+
- 0
|
106
|
+
version: "0"
|
107
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
109
|
+
requirements:
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
hash: 3
|
113
|
+
segments:
|
114
|
+
- 0
|
115
|
+
version: "0"
|
116
|
+
requirements: []
|
117
|
+
|
118
|
+
rubyforge_project:
|
119
|
+
rubygems_version: 1.5.0
|
120
|
+
signing_key:
|
121
|
+
specification_version: 3
|
122
|
+
summary: Converts classes to symbols, and symbols to classes.
|
123
|
+
test_files:
|
124
|
+
- features/class.feature
|
125
|
+
- features/step_definitions/class_steps.rb
|
126
|
+
- features/step_definitions/symbol_steps.rb
|
127
|
+
- features/support/env.rb
|
128
|
+
- features/symbol.feature
|