qipowl 0.9.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.
- checksums.yaml +7 -0
- data/.document +11 -0
- data/.gitignore +17 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/.yardopts +3 -0
- data/Gemfile +17 -0
- data/LICENSE +20 -0
- data/README.md +345 -0
- data/Rakefile +21 -0
- data/bin/bowler +44 -0
- data/config/bowlers/cmd.yaml +3 -0
- data/config/bowlers/html.yaml +128 -0
- data/config/bowlers/html_supplemental.yaml +3 -0
- data/config/bowlers/markdown2html.yaml +23 -0
- data/extras/demo/main.rb +34 -0
- data/extras/demo/public/apple-touch-icon-114x114-precomposed.png +0 -0
- data/extras/demo/public/apple-touch-icon-144x144-precomposed.png +0 -0
- data/extras/demo/public/apple-touch-icon-57x57-precomposed.png +0 -0
- data/extras/demo/public/apple-touch-icon-72x72-precomposed.png +0 -0
- data/extras/demo/public/apple-touch-icon-precomposed.png +0 -0
- data/extras/demo/public/apple-touch-icon.png +0 -0
- data/extras/demo/public/css/bootstrap-theme.css +384 -0
- data/extras/demo/public/css/bootstrap-theme.min.css +1 -0
- data/extras/demo/public/css/bootstrap.css +6805 -0
- data/extras/demo/public/css/bootstrap.min.css +9 -0
- data/extras/demo/public/css/main.css +22 -0
- data/extras/demo/public/favicon.ico +0 -0
- data/extras/demo/public/fonts/glyphicons-halflings-regular.eot +0 -0
- data/extras/demo/public/fonts/glyphicons-halflings-regular.svg +228 -0
- data/extras/demo/public/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/extras/demo/public/fonts/glyphicons-halflings-regular.woff +0 -0
- data/extras/demo/public/html.html +262 -0
- data/extras/demo/public/index.html +110 -0
- data/extras/demo/public/js/main.js +1 -0
- data/extras/demo/public/js/vendor/bootstrap.js +1999 -0
- data/extras/demo/public/js/vendor/bootstrap.min.js +6 -0
- data/extras/demo/public/js/vendor/jquery-1.10.1.min.js +6 -0
- data/extras/demo/public/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js +11 -0
- data/extras/drafts/parsing.md +137 -0
- data/extras/support/typo +66 -0
- data/features/bowler.feature +8 -0
- data/features/html.feature +229 -0
- data/features/step_definitions/bowler_steps.rb +39 -0
- data/features/step_definitions/html_steps.rb +11 -0
- data/features/support/env.rb +7 -0
- data/images/owl-old.png +0 -0
- data/images/owl-old.xcf +0 -0
- data/images/owl.png +0 -0
- data/images/owl.xcf +0 -0
- data/lib/qipowl/bowlers/cmd.rb +26 -0
- data/lib/qipowl/bowlers/html.rb +409 -0
- data/lib/qipowl/bowlers/htmldoc.rb +268 -0
- data/lib/qipowl/bowlers/yaml.rb +63 -0
- data/lib/qipowl/core/bowler.rb +251 -0
- data/lib/qipowl/core/mapper.rb +92 -0
- data/lib/qipowl/core/monkeypatches.rb +168 -0
- data/lib/qipowl/core/ruler.rb +106 -0
- data/lib/qipowl/utils/hash_recursive_merge.rb +72 -0
- data/lib/qipowl/utils/logging.rb +14 -0
- data/lib/qipowl/version.rb +3 -0
- data/lib/qipowl.rb +50 -0
- data/qipowl.gemspec +42 -0
- data/qipowl.komodoproject +4 -0
- data/spec/bowler_spec.rb +11 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/string_spec.rb +32 -0
- data/spec/yaml_test.yaml +10 -0
- metadata +254 -0
@@ -0,0 +1,72 @@
|
|
1
|
+
#
|
2
|
+
# = Hash Recursive Merge
|
3
|
+
#
|
4
|
+
# Merges a Ruby Hash recursively, Also known as deep merge.
|
5
|
+
# Recursive version of Hash#merge and Hash#merge!.
|
6
|
+
#
|
7
|
+
# Category:: Ruby
|
8
|
+
# Package:: Hash
|
9
|
+
# Author:: Simone Carletti <weppos@weppos.net>
|
10
|
+
# Copyright:: 2007-2008 The Authors
|
11
|
+
# License:: MIT License
|
12
|
+
# Link:: http://www.simonecarletti.com/
|
13
|
+
# Source:: http://gist.github.com/gists/6391/
|
14
|
+
#
|
15
|
+
module HashRecursiveMerge
|
16
|
+
#
|
17
|
+
# Recursive version of Hash#merge!
|
18
|
+
#
|
19
|
+
# Adds the contents of +other_hash+ to +hsh+,
|
20
|
+
# merging entries in +hsh+ with duplicate keys with those from +other_hash+.
|
21
|
+
#
|
22
|
+
# Compared with Hash#merge!, this method supports nested hashes.
|
23
|
+
# When both +hsh+ and +other_hash+ contains an entry with the same key,
|
24
|
+
# it merges and returns the values from both arrays.
|
25
|
+
#
|
26
|
+
# h1 = {"a" => 100, "b" => 200, "c" => {"c1" => 12, "c2" => 14}}
|
27
|
+
# h2 = {"b" => 254, "c" => 300, "c" => {"c1" => 16, "c3" => 94}}
|
28
|
+
# h1.rmerge!(h2) #=> {"a" => 100, "b" => 254, "c" => {"c1" => 16, "c2" => 14, "c3" => 94}}
|
29
|
+
#
|
30
|
+
# Simply using Hash#merge! would return
|
31
|
+
#
|
32
|
+
# h1.merge!(h2) #=> {"a" => 100, "b" = >254, "c" => {"c1" => 16, "c3" => 94}}
|
33
|
+
#
|
34
|
+
def rmerge!(other_hash)
|
35
|
+
merge!(other_hash) do |key, oldval, newval|
|
36
|
+
oldval.class == self.class ? oldval.rmerge!(newval) : newval
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
#
|
41
|
+
# Recursive version of Hash#merge
|
42
|
+
#
|
43
|
+
# Compared with Hash#merge!, this method supports nested hashes.
|
44
|
+
# When both +hsh+ and +other_hash+ contains an entry with the same key,
|
45
|
+
# it merges and returns the values from both arrays.
|
46
|
+
#
|
47
|
+
# Compared with Hash#merge, this method provides a different approch
|
48
|
+
# for merging nasted hashes.
|
49
|
+
# If the value of a given key is an Hash and both +other_hash+ abd +hsh
|
50
|
+
# includes the same key, the value is merged instead replaced with
|
51
|
+
# +other_hash+ value.
|
52
|
+
#
|
53
|
+
# h1 = {"a" => 100, "b" => 200, "c" => {"c1" => 12, "c2" => 14}}
|
54
|
+
# h2 = {"b" => 254, "c" => 300, "c" => {"c1" => 16, "c3" => 94}}
|
55
|
+
# h1.rmerge(h2) #=> {"a" => 100, "b" => 254, "c" => {"c1" => 16, "c2" => 14, "c3" => 94}}
|
56
|
+
#
|
57
|
+
# Simply using Hash#merge would return
|
58
|
+
#
|
59
|
+
# h1.merge(h2) #=> {"a" => 100, "b" = >254, "c" => {"c1" => 16, "c3" => 94}}
|
60
|
+
#
|
61
|
+
def rmerge(other_hash)
|
62
|
+
r = {}
|
63
|
+
merge(other_hash) do |key, oldval, newval|
|
64
|
+
r[key] = oldval.class == self.class ? oldval.rmerge(newval) : newval
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
class Hash
|
71
|
+
include HashRecursiveMerge
|
72
|
+
end
|
data/lib/qipowl.rb
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "qipowl/version"
|
4
|
+
require_relative "qipowl/core/mapper"
|
5
|
+
require_relative "qipowl/core/ruler"
|
6
|
+
require_relative "qipowl/core/bowler"
|
7
|
+
require_relative "qipowl/bowlers/html"
|
8
|
+
#require_relative "qipowl/bowlers/cmd"
|
9
|
+
#require_relative "qipowl/bowlers/yaml"
|
10
|
+
|
11
|
+
Encoding.default_external = Encoding::UTF_8
|
12
|
+
Encoding.default_internal = Encoding::UTF_8
|
13
|
+
|
14
|
+
module Qipowl
|
15
|
+
extend self
|
16
|
+
|
17
|
+
# Basic single-method DSL with .parameter method
|
18
|
+
# being used to define a set of available settings.
|
19
|
+
# This method takes one or more symbols, with each one being
|
20
|
+
# a name of the configuration option.
|
21
|
+
def params *names
|
22
|
+
names.each do |name|
|
23
|
+
attr_accessor name
|
24
|
+
define_method name do |*values|
|
25
|
+
value = values.first
|
26
|
+
value ? self.send("#{name}=", value) : instance_variable_get("@#{name}")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
# A wrapper for the configuration block
|
32
|
+
def config &block
|
33
|
+
instance_eval(&block)
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.tg__html
|
37
|
+
Html.new
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.tg_md__html
|
41
|
+
result = tg__html
|
42
|
+
result.merge_rules "#{File.dirname(__FILE__)}/tagmaps/markdown2html.yaml"
|
43
|
+
result
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
Qipowl::config do
|
48
|
+
params :bowlers_dir
|
49
|
+
bowlers_dir File.expand_path(File.join(__dir__, '..', 'config', 'bowlers'))
|
50
|
+
end
|
data/qipowl.gemspec
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require 'qipowl/version'
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = 'qipowl'
|
6
|
+
s.version = Qipowl::VERSION
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.license = 'MIT'
|
9
|
+
s.date = '2013-09-08'
|
10
|
+
s.authors = ['Alexei Matyushkin']
|
11
|
+
s.email = 'am@mudasobwa.ru'
|
12
|
+
s.homepage = 'http://github.com/mudasobwa/qipowl'
|
13
|
+
s.summary = %Q{Parser framework totally based on DSL}
|
14
|
+
s.description = %Q{Multipurpose DSL-based pure text parser.}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
'LICENSE',
|
17
|
+
'README.md',
|
18
|
+
]
|
19
|
+
|
20
|
+
s.required_rubygems_version = Gem::Requirement.new('>= 1.3.7')
|
21
|
+
s.rubygems_version = '1.3.7'
|
22
|
+
s.specification_version = 3
|
23
|
+
|
24
|
+
s.files = `git ls-files`.split("\n")
|
25
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
26
|
+
s.bindir = 'bin'
|
27
|
+
s.executables = ['bowler']
|
28
|
+
s.require_paths = ['lib']
|
29
|
+
|
30
|
+
s.add_development_dependency 'rspec'
|
31
|
+
s.add_development_dependency 'fuubar'
|
32
|
+
s.add_development_dependency 'yard'
|
33
|
+
s.add_development_dependency 'cucumber'
|
34
|
+
s.add_development_dependency 'yard-cucumber'
|
35
|
+
|
36
|
+
s.add_dependency 'psych'
|
37
|
+
s.add_dependency 'nokogiri'
|
38
|
+
s.add_dependency 'htmlbeautifier'
|
39
|
+
s.add_dependency 'aquarium'
|
40
|
+
s.add_dependency 'crochets'
|
41
|
+
end
|
42
|
+
|
data/spec/bowler_spec.rb
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
|
3
|
+
require 'qipowl'
|
4
|
+
|
5
|
+
# Requires supporting files with custom matchers and macros, etc,
|
6
|
+
# in ./support/ and its subdirectories.
|
7
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
8
|
+
|
9
|
+
RSpec.configure do |config|
|
10
|
+
# config.fail_fast = true
|
11
|
+
config.expect_with :rspec do |c|
|
12
|
+
c.syntax = :expect
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
data/spec/string_spec.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
|
3
|
+
describe String do
|
4
|
+
before(:each) do
|
5
|
+
@string = 'Hello, world!'
|
6
|
+
@bowled = 'Hello, world!'
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "#bowl" do
|
10
|
+
context 'string is bowled' do
|
11
|
+
it 'contains no ruby symbols' do
|
12
|
+
expect(@string.bowl).to eql @bowled
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'bowled and unbowled string' do
|
17
|
+
it "is the same string" do
|
18
|
+
expect(@string.bowl.unbowl).to eql @string
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "#carriage" do
|
24
|
+
context 'uncarriaged and carriaged string' do
|
25
|
+
it "is the same string" do
|
26
|
+
expect(@string.uncarriage.carriage).to eql @string
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
data/spec/yaml_test.yaml
ADDED
metadata
ADDED
@@ -0,0 +1,254 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: qipowl
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.9.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Alexei Matyushkin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-09-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: fuubar
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: yard
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: cucumber
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: yard-cucumber
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ! '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ! '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: psych
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ! '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: nokogiri
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ! '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: htmlbeautifier
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ! '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: aquarium
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ! '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: crochets
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ! '>='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ! '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
description: Multipurpose DSL-based pure text parser.
|
154
|
+
email: am@mudasobwa.ru
|
155
|
+
executables:
|
156
|
+
- bowler
|
157
|
+
extensions: []
|
158
|
+
extra_rdoc_files:
|
159
|
+
- LICENSE
|
160
|
+
- README.md
|
161
|
+
files:
|
162
|
+
- .document
|
163
|
+
- .gitignore
|
164
|
+
- .rspec
|
165
|
+
- .travis.yml
|
166
|
+
- .yardopts
|
167
|
+
- Gemfile
|
168
|
+
- LICENSE
|
169
|
+
- README.md
|
170
|
+
- Rakefile
|
171
|
+
- bin/bowler
|
172
|
+
- config/bowlers/cmd.yaml
|
173
|
+
- config/bowlers/html.yaml
|
174
|
+
- config/bowlers/html_supplemental.yaml
|
175
|
+
- config/bowlers/markdown2html.yaml
|
176
|
+
- extras/demo/main.rb
|
177
|
+
- extras/demo/public/apple-touch-icon-114x114-precomposed.png
|
178
|
+
- extras/demo/public/apple-touch-icon-144x144-precomposed.png
|
179
|
+
- extras/demo/public/apple-touch-icon-57x57-precomposed.png
|
180
|
+
- extras/demo/public/apple-touch-icon-72x72-precomposed.png
|
181
|
+
- extras/demo/public/apple-touch-icon-precomposed.png
|
182
|
+
- extras/demo/public/apple-touch-icon.png
|
183
|
+
- extras/demo/public/css/bootstrap-theme.css
|
184
|
+
- extras/demo/public/css/bootstrap-theme.min.css
|
185
|
+
- extras/demo/public/css/bootstrap.css
|
186
|
+
- extras/demo/public/css/bootstrap.min.css
|
187
|
+
- extras/demo/public/css/main.css
|
188
|
+
- extras/demo/public/favicon.ico
|
189
|
+
- extras/demo/public/fonts/glyphicons-halflings-regular.eot
|
190
|
+
- extras/demo/public/fonts/glyphicons-halflings-regular.svg
|
191
|
+
- extras/demo/public/fonts/glyphicons-halflings-regular.ttf
|
192
|
+
- extras/demo/public/fonts/glyphicons-halflings-regular.woff
|
193
|
+
- extras/demo/public/html.html
|
194
|
+
- extras/demo/public/index.html
|
195
|
+
- extras/demo/public/js/main.js
|
196
|
+
- extras/demo/public/js/vendor/bootstrap.js
|
197
|
+
- extras/demo/public/js/vendor/bootstrap.min.js
|
198
|
+
- extras/demo/public/js/vendor/jquery-1.10.1.min.js
|
199
|
+
- extras/demo/public/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js
|
200
|
+
- extras/drafts/parsing.md
|
201
|
+
- extras/support/typo
|
202
|
+
- features/bowler.feature
|
203
|
+
- features/html.feature
|
204
|
+
- features/step_definitions/bowler_steps.rb
|
205
|
+
- features/step_definitions/html_steps.rb
|
206
|
+
- features/support/env.rb
|
207
|
+
- images/owl-old.png
|
208
|
+
- images/owl-old.xcf
|
209
|
+
- images/owl.png
|
210
|
+
- images/owl.xcf
|
211
|
+
- lib/qipowl.rb
|
212
|
+
- lib/qipowl/bowlers/cmd.rb
|
213
|
+
- lib/qipowl/bowlers/html.rb
|
214
|
+
- lib/qipowl/bowlers/htmldoc.rb
|
215
|
+
- lib/qipowl/bowlers/yaml.rb
|
216
|
+
- lib/qipowl/core/bowler.rb
|
217
|
+
- lib/qipowl/core/mapper.rb
|
218
|
+
- lib/qipowl/core/monkeypatches.rb
|
219
|
+
- lib/qipowl/core/ruler.rb
|
220
|
+
- lib/qipowl/utils/hash_recursive_merge.rb
|
221
|
+
- lib/qipowl/utils/logging.rb
|
222
|
+
- lib/qipowl/version.rb
|
223
|
+
- qipowl.gemspec
|
224
|
+
- qipowl.komodoproject
|
225
|
+
- spec/bowler_spec.rb
|
226
|
+
- spec/spec_helper.rb
|
227
|
+
- spec/string_spec.rb
|
228
|
+
- spec/yaml_test.yaml
|
229
|
+
homepage: http://github.com/mudasobwa/qipowl
|
230
|
+
licenses:
|
231
|
+
- MIT
|
232
|
+
metadata: {}
|
233
|
+
post_install_message:
|
234
|
+
rdoc_options: []
|
235
|
+
require_paths:
|
236
|
+
- lib
|
237
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
238
|
+
requirements:
|
239
|
+
- - ! '>='
|
240
|
+
- !ruby/object:Gem::Version
|
241
|
+
version: '0'
|
242
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
243
|
+
requirements:
|
244
|
+
- - ! '>='
|
245
|
+
- !ruby/object:Gem::Version
|
246
|
+
version: 1.3.7
|
247
|
+
requirements: []
|
248
|
+
rubyforge_project:
|
249
|
+
rubygems_version: 2.0.2
|
250
|
+
signing_key:
|
251
|
+
specification_version: 3
|
252
|
+
summary: Parser framework totally based on DSL
|
253
|
+
test_files: []
|
254
|
+
has_rdoc:
|