ruby_ext 0.4.21 → 0.4.22

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,48 @@
1
+ #
2
+ # FuzzyHash, to_fuzzy_hash, to_html
3
+ #
4
+ begin
5
+ require 'nokogiri'
6
+
7
+ class RSpec::FuzzyHash < Hash
8
+ def == o
9
+ return true if super
10
+
11
+ if o.respond_to? :each
12
+ o.each do |k, v|
13
+ return false if (self[k.to_sym] || self[k.to_s]) != v
14
+ end
15
+ return true
16
+ end
17
+
18
+ false
19
+ end
20
+ end
21
+
22
+ ::Nokogiri::XML::Node.class_eval do
23
+ def to_fuzzy_hash
24
+ h = RSpec::FuzzyHash.new
25
+ attributes.each{|n, v| h[n] = v.value}
26
+ h[:content] = content
27
+ h
28
+ end
29
+ end
30
+
31
+ class String
32
+ def to_xhtml css = nil
33
+ require 'nokogiri'
34
+
35
+ node = Nokogiri::HTML(self)
36
+ unless css
37
+ node
38
+ else
39
+ nodes = node.css(css)
40
+ raise "Elements for '#{css}' CSS query not found!" if nodes.size < 1
41
+ raise "Found more than one elment for '#{css}' CSS query!" if nodes.size > 1
42
+ nodes.first
43
+ end
44
+ end
45
+ end
46
+ rescue LoadError
47
+ warn "WARN: some specs require the 'nokogiri' gem, but there's no such gem on this system, these specs will be scipped!"
48
+ end
data/lib/rspec_ext.rb CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
  #
17
- # Rspec
17
+ # RSpec
18
18
  #
19
19
  require 'rspec'
20
20
  require 'fileutils'
@@ -112,31 +112,14 @@ rspec do
112
112
  # end
113
113
  end
114
114
 
115
+
116
+ #
117
+ # dirname, parent_dirname
118
+ #
115
119
  class String
116
- unless "".respond_to? :dirname
120
+ unless method_defined? :dirname
117
121
  def dirname
118
122
  File.expand_path(File.dirname(self))
119
123
  end
120
124
  end
121
-
122
- unless "".respond_to? :parent_dirname
123
- def parent_dirname
124
- File.expand_path(self + "/..")
125
- end
126
- end
127
- end
128
-
129
- class Rspec::FuzzyHash < Hash
130
- def == o
131
- return true if super
132
-
133
- if o.respond_to? :each
134
- o.each do |k, v|
135
- return false if (self[k.to_sym] || self[k.to_s]) != v
136
- end
137
- return true
138
- end
139
-
140
- false
141
- end
142
125
  end
@@ -3,10 +3,6 @@ String.class_eval do
3
3
  File.expand_path(File.dirname(self))
4
4
  end
5
5
 
6
- def parent_dirname
7
- File.expand_path(File.dirname(self) + "/..")
8
- end
9
-
10
6
  def expand_path
11
7
  File.expand_path(self)
12
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.21
4
+ version: 0.4.22
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-07-29 00:00:00 +04:00
13
+ date: 2011-07-30 00:00:00 +04:00
14
14
  default_executable:
15
15
  dependencies: []
16
16
 
@@ -27,6 +27,7 @@ files:
27
27
  - readme.md
28
28
  - lib/rake_ext/project.rb
29
29
  - lib/rake_ext.rb
30
+ - lib/rspec_ext/xhtml.rb
30
31
  - lib/rspec_ext.rb
31
32
  - lib/ruby_ext/core/array.rb
32
33
  - lib/ruby_ext/core/basic_object.rb