rubulex 0.5.0 → 0.6.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/README.md +3 -19
- data/bin/rubulex +0 -6
- data/data/rubulex/views/index.slim +119 -121
- data/data/rubulex/views/stylesheets/default.sass +88 -71
- data/lib/rubulex/regexp_parser.rb +45 -17
- data/lib/rubulex/version.rb +1 -1
- data/rubulex.gemspec +4 -5
- metadata +13 -43
- data/.sass-cache/585bcb933d47ad9fc0e0c198b6c88f057e68fc16/default.sassc +0 -0
- data/Gemfile +0 -4
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: cf8dbc1b09724952fb721f0a7c6ca4866a2c505a
|
4
|
+
data.tar.gz: a796b809e1f10a132efcb4e70cf055ee7f565b84
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 47e2441c60a0b99081ab04a3401140fd821665fa9599dcaf5ab5b5a584d57c5f238cb362564790859d9a2c746fe1b94face55b9eb186efa4a215a8fd8075dd9a
|
7
|
+
data.tar.gz: 140501b4dbbcbe6614c5fb163733ddf474714c02d08487c41bf05e4271e8433176c4c239afc98cdde0a8cdede4c689567419f3430cab74142f23a2192e02d932
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,29 +1,13 @@
|
|
1
1
|
# Rubulex
|
2
2
|
|
3
|
-
|
3
|
+
Rubulex is a simple self-hosted Sinatra Rubular clone.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
|
-
Add this line to your application's Gemfile:
|
8
|
-
|
9
|
-
gem 'rubulex'
|
10
|
-
|
11
|
-
And then execute:
|
12
|
-
|
13
|
-
$ bundle
|
14
|
-
|
15
|
-
Or install it yourself as:
|
16
|
-
|
17
7
|
$ gem install rubulex
|
18
8
|
|
19
9
|
## Usage
|
20
10
|
|
21
|
-
|
22
|
-
|
23
|
-
## Contributing
|
11
|
+
$ rubulex
|
24
12
|
|
25
|
-
|
26
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
-
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
-
5. Create new Pull Request
|
13
|
+
Open a browser an go to http://localhost:4567
|
data/bin/rubulex
CHANGED
@@ -1,11 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
require 'rubygems'
|
3
|
-
require 'bundler'
|
4
|
-
|
5
|
-
ENV['BUNDLE_GEMFILE'] ||= File.join(File.dirname(__FILE__), "..", "Gemfile")
|
6
|
-
ENV['RACK_ENV'] ||= "testing"
|
7
|
-
Bundler.require(:default, ENV['RACK_ENV'])
|
8
|
-
|
9
3
|
require 'rubulex'
|
10
4
|
|
11
5
|
Rubulex::App.run!
|
@@ -9,146 +9,144 @@ html
|
|
9
9
|
|
10
10
|
body
|
11
11
|
.page
|
12
|
-
|
12
|
+
header
|
13
13
|
h1 Rubulex
|
14
14
|
h2 a Ruby Regular Expression Editor
|
15
15
|
|
16
|
-
.
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
.
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
.
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
td End of string
|
16
|
+
section.editor
|
17
|
+
form#editor_form method="post" action="regex/test" accept-charset="UTF-8"
|
18
|
+
.regexp_entry
|
19
|
+
label Regular expression:
|
20
|
+
br
|
21
|
+
span= "/"
|
22
|
+
input id="regex" type="text" tabindex="1" size="60" name="regex"
|
23
|
+
span= "/"
|
24
|
+
input id="regex_options" type="text" tabindex="1" size="6" name="options"
|
25
|
+
span= "/"
|
26
|
+
.test
|
27
|
+
.data_pane
|
28
|
+
label Test data:
|
29
|
+
textarea id="test_data" tabindex="3" rows="10" name="test_data" cols="56"
|
30
|
+
.match_pane
|
31
|
+
.results
|
32
|
+
label Match results:
|
33
|
+
#result
|
34
|
+
.result_groups{ style="display: none;" }
|
35
|
+
label Match groups:
|
36
|
+
#result_groups
|
37
|
+
section.help
|
38
|
+
div style="float:left"
|
39
|
+
table
|
40
|
+
tr
|
41
|
+
td
|
42
|
+
code= "[abc]"
|
43
|
+
td A single character of: a, b or c
|
44
|
+
tr
|
45
|
+
td
|
46
|
+
code= "[^abc]"
|
47
|
+
td Any single character except: a, b, or c
|
48
|
+
tr
|
49
|
+
td
|
50
|
+
code [a-z]
|
51
|
+
td Any single character in the range a-z
|
52
|
+
tr
|
53
|
+
td
|
54
|
+
code [a-zA-Z]
|
55
|
+
td Any single character in the range a-z or A-Z
|
56
|
+
tr
|
57
|
+
td
|
58
|
+
code ^
|
59
|
+
td Start of line
|
60
|
+
tr
|
61
|
+
td
|
62
|
+
code $
|
63
|
+
td End of line
|
64
|
+
tr
|
65
|
+
td
|
66
|
+
code \A
|
67
|
+
td Start of string
|
68
|
+
tr
|
69
|
+
td
|
70
|
+
code \z
|
71
|
+
td End of string
|
73
72
|
|
74
|
-
div style="float:left"
|
75
|
-
table
|
76
|
-
tr
|
77
|
-
td
|
78
|
-
code .
|
79
|
-
td Any single character
|
80
|
-
tr
|
81
|
-
td
|
82
|
-
code \s
|
83
|
-
td Any whitespace character
|
84
|
-
tr
|
85
|
-
td
|
86
|
-
code \S
|
87
|
-
td Any non-whitespace character
|
88
|
-
tr
|
89
|
-
td
|
90
|
-
code \d
|
91
|
-
td Any digit
|
92
|
-
tr
|
93
|
-
td
|
94
|
-
code \D
|
95
|
-
td Any non-digit
|
96
|
-
tr
|
97
|
-
td
|
98
|
-
code \w
|
99
|
-
td Any word character (letter, number, underscore)
|
100
|
-
tr
|
101
|
-
td
|
102
|
-
code \W
|
103
|
-
td Any non-word character
|
104
|
-
tr
|
105
|
-
td
|
106
|
-
code \b
|
107
|
-
td Any word boundary
|
108
73
|
table
|
109
74
|
tr
|
110
75
|
td
|
111
|
-
code
|
112
|
-
td
|
76
|
+
code .
|
77
|
+
td Any single character
|
113
78
|
tr
|
114
79
|
td
|
115
|
-
code
|
116
|
-
td
|
80
|
+
code \s
|
81
|
+
td Any whitespace character
|
117
82
|
tr
|
118
83
|
td
|
119
|
-
code
|
120
|
-
td
|
84
|
+
code \S
|
85
|
+
td Any non-whitespace character
|
121
86
|
tr
|
122
87
|
td
|
123
|
-
code
|
124
|
-
td
|
88
|
+
code \d
|
89
|
+
td Any digit
|
125
90
|
tr
|
126
91
|
td
|
127
|
-
code
|
128
|
-
td
|
92
|
+
code \D
|
93
|
+
td Any non-digit
|
129
94
|
tr
|
130
95
|
td
|
131
|
-
code
|
132
|
-
td
|
96
|
+
code \w
|
97
|
+
td Any word character (letter, number, underscore)
|
133
98
|
tr
|
134
99
|
td
|
135
|
-
code
|
136
|
-
td
|
100
|
+
code \W
|
101
|
+
td Any non-word character
|
137
102
|
tr
|
138
103
|
td
|
139
|
-
code
|
140
|
-
td
|
104
|
+
code \b
|
105
|
+
td Any word boundary
|
106
|
+
table
|
107
|
+
tr
|
108
|
+
td
|
109
|
+
code= "(...)"
|
110
|
+
td Capture everything enclosed
|
111
|
+
tr
|
112
|
+
td
|
113
|
+
code= "(a|b)"
|
114
|
+
td a or b
|
115
|
+
tr
|
116
|
+
td
|
117
|
+
code a?
|
118
|
+
td Zero or one of a
|
119
|
+
tr
|
120
|
+
td
|
121
|
+
code a*
|
122
|
+
td Zero or more of a
|
123
|
+
tr
|
124
|
+
td
|
125
|
+
code a+
|
126
|
+
td One or more of a
|
127
|
+
tr
|
128
|
+
td
|
129
|
+
code a{3}
|
130
|
+
td Exactly 3 of a
|
131
|
+
tr
|
132
|
+
td
|
133
|
+
code a{3,}
|
134
|
+
td 3 or more of a
|
135
|
+
tr
|
136
|
+
td
|
137
|
+
code a{3,6}
|
138
|
+
td Between 3 and 6 of a
|
141
139
|
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
| Copyright © #{Rubulex::VERSION}
|
140
|
+
.regex_options
|
141
|
+
p
|
142
|
+
| options:
|
143
|
+
code i
|
144
|
+
| case insensitive
|
145
|
+
code m
|
146
|
+
| make dot match newlines
|
147
|
+
code x
|
148
|
+
| ignore whitespace in regex
|
149
|
+
code o
|
150
|
+
| perform {...} substitutions only once
|
151
|
+
footer
|
152
|
+
| Copyright © v#{Rubulex::VERSION}
|
@@ -18,6 +18,10 @@ h1
|
|
18
18
|
h2
|
19
19
|
font-size: 16pt
|
20
20
|
|
21
|
+
dl
|
22
|
+
dd
|
23
|
+
margin-left: 16px
|
24
|
+
|
21
25
|
form
|
22
26
|
input, textarea
|
23
27
|
font-size: 13pt
|
@@ -44,8 +48,10 @@ span.blue
|
|
44
48
|
background-color: blue
|
45
49
|
color: white
|
46
50
|
|
51
|
+
label
|
52
|
+
display: block
|
53
|
+
|
47
54
|
html
|
48
|
-
head
|
49
55
|
body
|
50
56
|
width: 100%
|
51
57
|
height: 100%
|
@@ -60,86 +66,97 @@ html
|
|
60
66
|
min-height: 100%
|
61
67
|
width: 960px
|
62
68
|
|
63
|
-
|
69
|
+
header
|
64
70
|
color: #454545
|
65
71
|
height: 120px
|
66
72
|
text-align: center
|
67
73
|
text-shadow: 2px 2px 2px gray
|
68
74
|
|
69
|
-
.
|
70
|
-
|
75
|
+
section.editor
|
76
|
+
@include rounded
|
77
|
+
@include shadow
|
71
78
|
|
72
|
-
|
73
|
-
|
74
|
-
|
79
|
+
background-color: #FEFEFE
|
80
|
+
border: 1px solid #D0D0D0
|
81
|
+
padding: 18px
|
75
82
|
|
76
|
-
|
77
|
-
|
78
|
-
padding: 18px
|
79
|
-
|
80
|
-
.regexp_entry
|
81
|
-
padding: 8px
|
83
|
+
.regexp_entry
|
84
|
+
padding: 8px
|
82
85
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
+
input, span
|
87
|
+
display: inline-block
|
88
|
+
margin: 4px
|
86
89
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
padding: 8px
|
96
|
-
float: left
|
97
|
-
width: 420px
|
98
|
-
|
99
|
-
textarea
|
100
|
-
font-family: monaco, courier
|
101
|
-
font-size: 13pt
|
102
|
-
font-weight: bold
|
103
|
-
padding: 6pt
|
104
|
-
width: 100%
|
105
|
-
|
106
|
-
.match_pane
|
107
|
-
padding: 8px
|
108
|
-
margin-left: 50%
|
109
|
-
width: 440px
|
110
|
-
|
111
|
-
#result, #result_groups
|
112
|
-
font-family: monaco, courier
|
113
|
-
font-size: 13pt
|
114
|
-
font-weight: bold
|
115
|
-
padding: 6pt
|
116
|
-
margin: 4px
|
117
|
-
min-height: 200px
|
118
|
-
border: 1px solid #D0D0D0
|
119
|
-
|
120
|
-
.help
|
121
|
-
@include rounded
|
122
|
-
@include shadow
|
123
|
-
border: 1px solid #D0D0D0
|
124
|
-
margin-top: 32px
|
125
|
-
padding: 8px
|
126
|
-
font-size: 8pt
|
127
|
-
|
128
|
-
code
|
129
|
-
font-weight: bold
|
90
|
+
span
|
91
|
+
color: gray
|
92
|
+
font-size: 24pt
|
93
|
+
vertical-align: middle
|
94
|
+
|
95
|
+
.test
|
96
|
+
display: table
|
97
|
+
width: 100%
|
130
98
|
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
.regex_options
|
137
|
-
text-align: center
|
138
|
-
border-top: 1px solid #D0D0D0
|
139
|
-
padding-top: 16px
|
140
|
-
margin-top: 16px
|
99
|
+
.data_pane
|
100
|
+
width: 50%
|
101
|
+
padding: 8px
|
102
|
+
display: table-cell
|
141
103
|
|
142
|
-
|
104
|
+
textarea
|
105
|
+
font-family: monaco, courier
|
106
|
+
font-size: 10pt
|
107
|
+
font-weight: bold
|
108
|
+
padding: 6pt
|
109
|
+
min-height: 218px
|
110
|
+
width: 100%
|
111
|
+
box-sizing: border-box
|
112
|
+
-moz-box-sizing: border-box
|
113
|
+
|
114
|
+
.match_pane
|
115
|
+
width: 50%
|
116
|
+
padding: 8px
|
117
|
+
display: table-cell
|
118
|
+
|
119
|
+
#result, #result_groups
|
120
|
+
font-family: monaco, courier
|
121
|
+
font-size: 10pt
|
122
|
+
font-weight: bold
|
123
|
+
padding: 6pt
|
124
|
+
margin: 4px
|
125
|
+
min-height: 200px
|
126
|
+
border: 1px solid #D0D0D0
|
127
|
+
box-sizing: border-box
|
128
|
+
-moz-box-sizing: border-size
|
129
|
+
|
130
|
+
section.help
|
131
|
+
@include rounded
|
132
|
+
@include shadow
|
133
|
+
border: 1px solid #D0D0D0
|
134
|
+
margin-top: 32px
|
135
|
+
padding: 8px
|
136
|
+
font-size: 8pt
|
137
|
+
|
138
|
+
code
|
139
|
+
font-weight: bold
|
140
|
+
|
141
|
+
table
|
142
|
+
display: table-cell
|
143
|
+
|
144
|
+
tr
|
145
|
+
td
|
143
146
|
padding-right: 12px
|
144
|
-
|
147
|
+
|
148
|
+
.regex_options
|
149
|
+
text-align: center
|
150
|
+
border-top: 1px solid #D0D0D0
|
151
|
+
padding-top: 16px
|
152
|
+
margin-top: 16px
|
153
|
+
|
154
|
+
code
|
155
|
+
padding-right: 12px
|
156
|
+
padding-left: 12px
|
145
157
|
|
158
|
+
footer
|
159
|
+
color: grey
|
160
|
+
margin-top: 16px
|
161
|
+
min-height: 32px
|
162
|
+
text-align: center
|
@@ -1,5 +1,7 @@
|
|
1
1
|
module Rubulex
|
2
2
|
class RegexpParser
|
3
|
+
Struct.new("MatchRelation", :name, :text)
|
4
|
+
|
3
5
|
def initialize(regex, options, data)
|
4
6
|
self.options = options
|
5
7
|
self.regex = regex
|
@@ -15,7 +17,7 @@ module Rubulex
|
|
15
17
|
end
|
16
18
|
|
17
19
|
def regex=(regex)
|
18
|
-
@regex = Regexp.new(
|
20
|
+
@regex = Regexp.new("#{regex}", @options)
|
19
21
|
rescue RegexpError => error
|
20
22
|
@regex = //
|
21
23
|
end
|
@@ -35,29 +37,55 @@ module Rubulex
|
|
35
37
|
|
36
38
|
def parse
|
37
39
|
@data.match(@regex) do |match|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
@
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
40
|
+
@match_result = render_match_result(@data.dup)
|
41
|
+
@match_groups = render_match_groups(@data.dup)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def render_match_result(data)
|
46
|
+
colors = ->() do
|
47
|
+
(@colors ||= [:red, :green, :darkorange, :blue].cycle).next
|
48
|
+
end
|
49
|
+
data.gsub!(@regex) do |match|
|
50
|
+
"<span class='#{colors.call}'>#{match}</span>"
|
51
|
+
end
|
52
|
+
|
53
|
+
data.gsub(/\n/,"<br />")
|
54
|
+
end
|
55
|
+
|
56
|
+
def render_match_groups(data)
|
57
|
+
match_groups = []
|
58
|
+
|
59
|
+
data.gsub(@regex) do |match_text|
|
60
|
+
sub_match = match_text.match(@regex)
|
61
|
+
match_group_count = sub_match.length - 1
|
62
|
+
if match_group_count > 0
|
63
|
+
sub_match_set = []
|
64
|
+
|
65
|
+
match_group_count.times do |index|
|
66
|
+
key = sub_match.names[index] || index + 1
|
67
|
+
match_text = sub_match[key]
|
68
|
+
|
69
|
+
sub_match_set << Struct::MatchRelation.new(key, match_text)
|
70
|
+
end
|
71
|
+
|
72
|
+
match_groups << sub_match_set
|
53
73
|
end
|
54
74
|
end
|
75
|
+
|
76
|
+
match_groups.map.with_index { |sub_set, index|
|
77
|
+
group = "<dl><dt>Match #{index + 1}</dt>"
|
78
|
+
group << sub_set.map { |match|
|
79
|
+
"<dd>#{match.name}: #{match.text}</dd>"
|
80
|
+
}.join
|
81
|
+
group << "</dl>"
|
82
|
+
}.join("<br />")
|
55
83
|
end
|
56
84
|
|
57
85
|
def result
|
58
86
|
{
|
59
87
|
match_result: @match_result,
|
60
|
-
match_groups: @match_groups
|
88
|
+
match_groups: @match_groups
|
61
89
|
}
|
62
90
|
end
|
63
91
|
end
|
data/lib/rubulex/version.rb
CHANGED
data/rubulex.gemspec
CHANGED
@@ -13,12 +13,11 @@ Gem::Specification.new do |gem|
|
|
13
13
|
gem.homepage = "https://github.com/ofeldt/rubulex"
|
14
14
|
|
15
15
|
gem.add_runtime_dependency "sinatra", "~> 1.4.3"
|
16
|
-
gem.add_runtime_dependency "sinatra-contrib", "~> 1.4.
|
17
|
-
gem.add_runtime_dependency "slim", "~>
|
18
|
-
gem.add_runtime_dependency "sass", "~> 3.2.
|
19
|
-
gem.add_runtime_dependency "bundler", "~> 1.3.5"
|
16
|
+
gem.add_runtime_dependency "sinatra-contrib", "~> 1.4.1"
|
17
|
+
gem.add_runtime_dependency "slim", "~> 2.0.1"
|
18
|
+
gem.add_runtime_dependency "sass", "~> 3.2.10"
|
20
19
|
|
21
|
-
gem.add_development_dependency "rspec", "~> 2.
|
20
|
+
gem.add_development_dependency "rspec", "~> 2.14.1"
|
22
21
|
|
23
22
|
gem.files = `git ls-files`.split($/)
|
24
23
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubulex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5
|
5
|
-
prerelease:
|
4
|
+
version: 0.6.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Oliver Feldt
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-09-23 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: sinatra
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,83 +27,59 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: sinatra-contrib
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 1.4.
|
33
|
+
version: 1.4.1
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: 1.4.
|
40
|
+
version: 1.4.1
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: slim
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
47
|
+
version: 2.0.1
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
54
|
+
version: 2.0.1
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: sass
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version: 3.2.
|
61
|
+
version: 3.2.10
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
version: 3.2.
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: bundler
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ~>
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 1.3.5
|
86
|
-
type: :runtime
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 1.3.5
|
68
|
+
version: 3.2.10
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
70
|
name: rspec
|
96
71
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
72
|
requirements:
|
99
73
|
- - ~>
|
100
74
|
- !ruby/object:Gem::Version
|
101
|
-
version: 2.
|
75
|
+
version: 2.14.1
|
102
76
|
type: :development
|
103
77
|
prerelease: false
|
104
78
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
79
|
requirements:
|
107
80
|
- - ~>
|
108
81
|
- !ruby/object:Gem::Version
|
109
|
-
version: 2.
|
82
|
+
version: 2.14.1
|
110
83
|
description: A simple self-hosted Rubular Clone
|
111
84
|
email:
|
112
85
|
- oliver.feldt@googlemail.com
|
@@ -116,8 +89,6 @@ extensions: []
|
|
116
89
|
extra_rdoc_files: []
|
117
90
|
files:
|
118
91
|
- .gitignore
|
119
|
-
- .sass-cache/585bcb933d47ad9fc0e0c198b6c88f057e68fc16/default.sassc
|
120
|
-
- Gemfile
|
121
92
|
- LICENSE.txt
|
122
93
|
- README.md
|
123
94
|
- Rakefile
|
@@ -133,26 +104,25 @@ files:
|
|
133
104
|
- rubulex.gemspec
|
134
105
|
homepage: https://github.com/ofeldt/rubulex
|
135
106
|
licenses: []
|
107
|
+
metadata: {}
|
136
108
|
post_install_message:
|
137
109
|
rdoc_options: []
|
138
110
|
require_paths:
|
139
111
|
- lib
|
140
112
|
required_ruby_version: !ruby/object:Gem::Requirement
|
141
|
-
none: false
|
142
113
|
requirements:
|
143
114
|
- - '>='
|
144
115
|
- !ruby/object:Gem::Version
|
145
116
|
version: '0'
|
146
117
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
|
-
none: false
|
148
118
|
requirements:
|
149
119
|
- - '>='
|
150
120
|
- !ruby/object:Gem::Version
|
151
121
|
version: '0'
|
152
122
|
requirements: []
|
153
123
|
rubyforge_project:
|
154
|
-
rubygems_version:
|
124
|
+
rubygems_version: 2.0.3
|
155
125
|
signing_key:
|
156
|
-
specification_version:
|
126
|
+
specification_version: 4
|
157
127
|
summary: Rubulex is a simple web application for developing/testing Regular Expression
|
158
128
|
test_files: []
|
Binary file
|
data/Gemfile
DELETED