is_same 0.0.1
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/README.rdoc +30 -0
- data/lib/is_same/core_ext.rb +55 -0
- data/lib/is_same.rb +1 -0
- metadata +68 -0
data/README.rdoc
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
== Installation
|
2
|
+
|
3
|
+
gem install is_same
|
4
|
+
|
5
|
+
|
6
|
+
== Why?
|
7
|
+
|
8
|
+
To evulate if different kind of objects have the same value or meaning. Supports Regexp.
|
9
|
+
|
10
|
+
|
11
|
+
== Usage
|
12
|
+
|
13
|
+
include 'is_same'
|
14
|
+
|
15
|
+
|
16
|
+
# These evulate to False:
|
17
|
+
|
18
|
+
"String".is_same?("tring") # Same as: "String" == "tring"
|
19
|
+
Object.new.is_same(Object.new) # Same as: Object.new == Object.new
|
20
|
+
|
21
|
+
|
22
|
+
# These evulate to True:
|
23
|
+
|
24
|
+
:String.is_same?("String") # Same as: :String.to_s == "String"
|
25
|
+
String.is_same?(/tring/) # Same as: /tring/.match(String.name)
|
26
|
+
"String".is_same?(String) # Same as: "String" == String.name
|
27
|
+
|
28
|
+
"1".is_same?(1) # Same as: 1.to_i == 1
|
29
|
+
0.001.is_same?("0.001") # Same as: 0.001 == "0.001".to_f
|
30
|
+
123456.is_same?(/234/) # Same as: /234/.match(123456.to_s)
|
@@ -0,0 +1,55 @@
|
|
1
|
+
class Object
|
2
|
+
def is_same?(object)
|
3
|
+
return self <=> object
|
4
|
+
end
|
5
|
+
end
|
6
|
+
class String
|
7
|
+
def is_same?(object)
|
8
|
+
case object
|
9
|
+
when String; return self == object
|
10
|
+
when Regexp; return object.match(self)
|
11
|
+
when Class; return object.is_same?(self)
|
12
|
+
else; return self == object.to_s
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
class Symbol
|
17
|
+
def is_same?(object)
|
18
|
+
case object
|
19
|
+
when Symbol; return self == object
|
20
|
+
else; self.to_s.is_same?(object)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
class Class
|
25
|
+
def is_same?(object)
|
26
|
+
case object
|
27
|
+
when Class; return self == object
|
28
|
+
else; return self.name.is_same?(object)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
class Regexp
|
33
|
+
def is_same?(object)
|
34
|
+
case object
|
35
|
+
when Regexp; return object.match(self.to_s)
|
36
|
+
else; return object.is_same?(self)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
class Integer
|
41
|
+
def is_same?(object)
|
42
|
+
case
|
43
|
+
when object.respond_to?(:to_i); return self == object.to_i
|
44
|
+
else; return self.to_s.is_same?(object)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
class Float
|
49
|
+
def is_same?(object)
|
50
|
+
case
|
51
|
+
when object.respond_to?(:to_f); return self == object.to_f
|
52
|
+
else; return self.to_s.is_same?(object)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/lib/is_same.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
include 'is_same/core_ext'
|
metadata
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: is_same
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
version: 0.0.1
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- "Margus P\xC3\xA4rt"
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2012-01-12 00:00:00 +02:00
|
18
|
+
default_executable:
|
19
|
+
dependencies: []
|
20
|
+
|
21
|
+
description: To evulate if different kind of objects have the same value. Supports Regexp.
|
22
|
+
email: margus@tione.eu
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions: []
|
26
|
+
|
27
|
+
extra_rdoc_files: []
|
28
|
+
|
29
|
+
files:
|
30
|
+
- README.rdoc
|
31
|
+
- lib/is_same/core_ext.rb
|
32
|
+
- lib/is_same.rb
|
33
|
+
has_rdoc: true
|
34
|
+
homepage: https://github.com/tione/is_same
|
35
|
+
licenses: []
|
36
|
+
|
37
|
+
post_install_message:
|
38
|
+
rdoc_options: []
|
39
|
+
|
40
|
+
require_paths:
|
41
|
+
- lib
|
42
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
segments:
|
48
|
+
- 1
|
49
|
+
- 9
|
50
|
+
- 2
|
51
|
+
version: 1.9.2
|
52
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
segments:
|
58
|
+
- 0
|
59
|
+
version: "0"
|
60
|
+
requirements: []
|
61
|
+
|
62
|
+
rubyforge_project:
|
63
|
+
rubygems_version: 1.3.7
|
64
|
+
signing_key:
|
65
|
+
specification_version: 3
|
66
|
+
summary: Introduces is_same? method to compare if different types of objects have the same meaning.
|
67
|
+
test_files: []
|
68
|
+
|