red-glass 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/lib/red-glass/{public → red-glass-app/public}/images/ajax-loader.gif +0 -0
  2. data/lib/red-glass/{public → red-glass-app/public}/images/rg-logo.png +0 -0
  3. data/lib/red-glass/{public → red-glass-app/public}/scripts/jquery-1.8.0.min.js +0 -0
  4. data/lib/red-glass/{public → red-glass-app/public}/scripts/jquery-ui-1.8.23.custom.min.js +0 -0
  5. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-apollo.js +0 -0
  6. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-clj.js +0 -0
  7. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-css.js +0 -0
  8. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-go.js +0 -0
  9. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-hs.js +0 -0
  10. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-lisp.js +0 -0
  11. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-lua.js +0 -0
  12. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-ml.js +0 -0
  13. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-n.js +0 -0
  14. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-proto.js +0 -0
  15. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-scala.js +0 -0
  16. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-sql.js +0 -0
  17. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-tex.js +0 -0
  18. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-vb.js +0 -0
  19. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-vhdl.js +0 -0
  20. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-wiki.js +0 -0
  21. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-xq.js +0 -0
  22. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/lang-yaml.js +0 -0
  23. data/lib/red-glass/{public → red-glass-app/public}/scripts/prettify/prettify.js +0 -0
  24. data/lib/red-glass/{public → red-glass-app/public}/scripts/red-glass-app.js +0 -0
  25. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/ie.css +0 -0
  26. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/buttons/icons/cross.png +0 -0
  27. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/buttons/icons/key.png +0 -0
  28. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/buttons/icons/tick.png +0 -0
  29. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/buttons/readme.txt +0 -0
  30. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/buttons/screen.css +0 -0
  31. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/fancy-type/readme.txt +0 -0
  32. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/fancy-type/screen.css +0 -0
  33. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/icons/doc.png +0 -0
  34. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/icons/email.png +0 -0
  35. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/icons/external.png +0 -0
  36. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/icons/feed.png +0 -0
  37. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/icons/im.png +0 -0
  38. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/icons/lock.png +0 -0
  39. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  40. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/icons/visited.png +0 -0
  41. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/icons/xls.png +0 -0
  42. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/readme.txt +0 -0
  43. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/link-icons/screen.css +0 -0
  44. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/rtl/readme.txt +0 -0
  45. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/plugins/rtl/screen.css +0 -0
  46. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/print.css +0 -0
  47. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/blueprint/screen.css +0 -0
  48. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/prettify.css +0 -0
  49. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/red-glass.css +0 -0
  50. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  51. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  52. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  53. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  54. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  55. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  56. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  57. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  58. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  59. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  60. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  61. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  62. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  63. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  64. data/lib/red-glass/{public → red-glass-app/public}/stylesheets/ui-lightness/jquery-ui-1.8.23.custom.css +0 -0
  65. data/lib/red-glass/{red-glass-app.rb → red-glass-app/red-glass-app.rb} +0 -0
  66. data/lib/red-glass/{views → red-glass-app/views}/index.erb +0 -0
  67. data/lib/red-glass/{public/scripts → red-glass-js}/jquery.getpath.js +0 -0
  68. data/lib/red-glass/{public/scripts → red-glass-js}/jquery.red-glass-0.1.0.js +0 -0
  69. data/lib/red-glass/{public/scripts → red-glass-js}/json2.js +0 -0
  70. data/lib/red-glass/red-glass-js/serialize-dom.js +62 -0
  71. data/lib/red-glass/red_glass.rb +81 -8
  72. data/lib/red-glass/red_glass_listener.rb +14 -0
  73. metadata +72 -71
@@ -0,0 +1,62 @@
1
+ var domgun = {}; domgun.query = jQuery.noConflict();
2
+ var uniqueIds = [];
3
+
4
+ function toInt(n){ return Math.round(Number(n)); };
5
+
6
+ function isUniqueId(id, idArray){
7
+ return domgun.query.inArray(id, idArray) == -1 ? true : false;
8
+ }
9
+
10
+ function getPath($thing)
11
+ {
12
+ elt = $thing[0];
13
+ var path = '';
14
+ for (; elt && elt.nodeType == 1; elt = elt.parentNode)
15
+ {
16
+ var idx = domgun.query(elt.parentNode).children(elt.tagName).index(elt) + 1;
17
+ if(elt.tagName.substring(0,1) != "/"){//Internet explorer oddity- some tagnames can begin with backslash.
18
+ if(elt.id != 'undefined' && elt.id !='' && isUniqueId(elt.id, uniqueIds)){
19
+ uniqueIds.push(elt.id);
20
+ idPath="[@id=" + "'" + elt.id + "'" + "]";
21
+ path = '/' + elt.tagName.toLowerCase() + idPath + path;
22
+ }
23
+ else{
24
+ idx='[' + idx + ']';
25
+ path = '/' + elt.tagName.toLowerCase() + idx + path;
26
+ }
27
+ }
28
+ }
29
+ return path;
30
+ }
31
+
32
+ function hasText($thing){
33
+ var isTxt = true;
34
+ if($thing.text() == ""){
35
+ isTxt = false;
36
+ }
37
+ return isTxt;
38
+ }
39
+
40
+ function isVisible($thing) {
41
+ return $thing.is(':visible');
42
+ }
43
+
44
+ function RecurseDomJSON($item, domJSON) {
45
+ $item.each(function() {
46
+ try{
47
+ domJSON += '{"tagName":' + '"' + domgun.query(this).get(0).tagName + '"' + ',' + '"id":' + '"' +
48
+ domgun.query(this).attr("id") + '"' + ',' + '"top":' + '"' + toInt(domgun.query(this).offset().top) + '"' +
49
+ ',' + '"left":' + '"' + toInt(domgun.query(this).offset().left) + '"' +
50
+ ',' + '"xpath":' + '"' + getPath(domgun.query(this)) + '"' +
51
+ ',' + '"width":' + '"' + toInt(domgun.query(this).width()) + '"' +
52
+ ',' + '"height":' + '"' + toInt(domgun.query(this).height()) + '"' +
53
+ ',' + '"isVisible":' + '"' + isVisible(domgun.query(this)) + '"' +
54
+ ',' + '"hasText":' + '"' + hasText(domgun.query(this)) +'"},\n\t' ;
55
+ }
56
+ catch(err){
57
+
58
+ }
59
+ });
60
+ uniqueIds = [];
61
+ return domJSON;
62
+ }
@@ -3,7 +3,7 @@ require "uuid"
3
3
  require "net/http"
4
4
 
5
5
  class RedGlass
6
- attr_accessor :driver, :test_id, :opts, :port, :pid, :recording
6
+ attr_accessor :driver, :test_id, :opts, :port, :pid, :recording, :event_sequence, :page_metadata, :archive_dir
7
7
 
8
8
  PROJ_ROOT = File.dirname(__FILE__).to_s
9
9
 
@@ -11,14 +11,15 @@ class RedGlass
11
11
  @driver = driver
12
12
  @opts = opts
13
13
  opts[:listener].red_glass = self if opts[:listener]
14
+ @test_id = opts[:test_id] || UUID.new.generate
15
+ @event_sequence = []
16
+ @page_metadata = {}
14
17
  @recording = false
15
18
  end
16
19
 
17
20
  def start
18
21
  set_config
19
22
  start_server
20
- uuid = UUID.new
21
- @test_id = uuid.generate
22
23
  load_js
23
24
  @recording = true
24
25
  end
@@ -38,6 +39,15 @@ class RedGlass
38
39
  @recording = false
39
40
  end
40
41
 
42
+ def take_snapshot
43
+ capture_page_metadata
44
+ create_page_archive_directory
45
+ take_screenshot
46
+ capture_page_source
47
+ serialize_dom
48
+ write_metadata
49
+ end
50
+
41
51
  private
42
52
 
43
53
  def is_server_ready?(time_limit=30)
@@ -59,7 +69,7 @@ class RedGlass
59
69
 
60
70
  def start_server
61
71
  if !is_server_ready? 1
62
- @pid = Process.spawn("ruby","#{PROJ_ROOT}/red-glass-app.rb")
72
+ @pid = Process.spawn("ruby","#{PROJ_ROOT}/red-glass-app/red-glass-app.rb")
63
73
  raise "Red Glass server could not bet started." if !is_server_ready?
64
74
  Process.detach @pid
65
75
  end
@@ -79,19 +89,19 @@ class RedGlass
79
89
 
80
90
  def load_jQuery
81
91
  has_jQuery = @driver.execute_script "var hasJQuery = typeof jQuery == 'function' ? true : false; return hasJQuery"
82
- raw_js = File.open(File.expand_path("#{PROJ_ROOT}/public/scripts/jquery-1.8.0.min.js"), 'rb').read
92
+ raw_js = File.open(File.expand_path("#{PROJ_ROOT}/red-glass-app/public/scripts/jquery-1.8.0.min.js"), 'rb').read
83
93
  @driver.execute_script raw_js if !has_jQuery
84
94
  end
85
95
 
86
96
  def load_json2
87
97
  has_old_json = @driver.execute_script "var hasOldJSON = typeof JSON.license == 'undefined' ? false : true; return hasOldJSON"
88
98
  @driver.execute_script "delete JSON" if has_old_json
89
- raw_js = File.open(File.expand_path("#{PROJ_ROOT}/public/scripts/json2.js"), 'rb').read
99
+ raw_js = File.open(File.expand_path("#{PROJ_ROOT}/red-glass-js/json2.js"), 'rb').read
90
100
  @driver.execute_script raw_js
91
101
  end
92
102
 
93
103
  def load_get_path
94
- raw_js = File.open(File.expand_path("#{PROJ_ROOT}/public/scripts/jquery.getpath.js"), 'rb').read
104
+ raw_js = File.open(File.expand_path("#{PROJ_ROOT}/red-glass-js/jquery.getpath.js"), 'rb').read
95
105
  @driver.execute_script raw_js
96
106
  end
97
107
 
@@ -100,10 +110,73 @@ class RedGlass
100
110
  end
101
111
 
102
112
  def load_red_glass_js
103
- raw_js = File.open(File.expand_path("#{PROJ_ROOT}/public/scripts/jquery.red-glass-0.1.0.js"), 'rb').read
113
+ raw_js = File.open(File.expand_path("#{PROJ_ROOT}/red-glass-js/jquery.red-glass-0.1.0.js"), 'rb').read
104
114
  @driver.execute_script raw_js if !has_red_glass_js?
105
115
  @driver.execute_script("jQuery(document).redGlass('#{@test_id}', '#{@port}')")
106
116
  #@driver.execute_script "jQuery.noConflict(true)"
107
117
  end
108
118
 
119
+ def create_page_archive_directory
120
+ detect_archive_location
121
+ unless @archive_dir
122
+ @archive_dir = "#{@opts[:archive_location].chomp('/')}/#{@test_id}"
123
+ Dir::mkdir @archive_dir unless File.directory? @archive_dir
124
+ end
125
+ Dir::mkdir construct_page_archive_path
126
+ end
127
+
128
+ def construct_page_archive_path
129
+ "#{@archive_dir}/#{@page_metadata[:browser][:name]}_#{@page_metadata[:browser][:version]}_#{@page_metadata[:time]}"
130
+ end
131
+
132
+ def detect_archive_location
133
+ unless @opts[:archive_location] && File.directory?(@opts[:archive_location])
134
+ raise 'You must specify a valid archive location by passing an :archive_location option into the RedGlass initializer.'
135
+ end
136
+ end
137
+
138
+ def capture_page_metadata
139
+ @page_metadata[:test_id] = @test_id
140
+ @page_metadata[:time] = Time.now.to_i
141
+ @page_metadata[:page_url] = @driver.current_url
142
+ @page_metadata[:browser] = {name: @driver.capabilities[:browser_name],
143
+ version: @driver.capabilities[:version],
144
+ platform: @driver.capabilities[:platform].to_s}
145
+ @page_metadata[:event_sequence] = @event_sequence
146
+ end
147
+
148
+ def take_screenshot
149
+ @driver.save_screenshot "#{construct_page_archive_path}/screenshot.png"
150
+ end
151
+
152
+ def capture_page_source
153
+ File.open("#{construct_page_archive_path}/source.html", 'w') { |file| file.write @driver.page_source }
154
+ end
155
+
156
+ def write_metadata
157
+ File.open("#{construct_page_archive_path}/metadata.json", 'w') { |file| file.write @page_metadata.to_json }
158
+ end
159
+
160
+ def write_serialized_dom(dom_json_string)
161
+ File.open("#{construct_page_archive_path}/dom.json", 'w') { |file| file.write dom_json_string }
162
+ end
163
+
164
+ def serialize_dom
165
+ dom_json_string = "{\n\t\"browser\":" + "\"" + @page_metadata[:browser][:name] + "\","
166
+ dom_json_string += "\n\t\"elements\":\n\t[\n\t"
167
+ serialize_dom_js_string = stringify_serialize_dom_js
168
+ dom_json_string += @driver.execute_script(serialize_dom_js_string + " return RecurseDomJSON(domgun.query('*'),'')")
169
+ dom_json_string = dom_json_string[0, (dom_json_string.length - 3)] + "\n\t]\n}"
170
+ @page_metadata[:doc_width] = @driver.execute_script(serialize_dom_js_string + " return domgun.query(document).width()")
171
+ @page_metadata[:doc_height] = @driver.execute_script(serialize_dom_js_string + " return domgun.query(document).height()")
172
+ write_serialized_dom dom_json_string
173
+ end
174
+
175
+ def stringify_serialize_dom_js
176
+ domgun_recurse_dom_file = File.open("#{PROJ_ROOT}/red-glass-js/serialize-dom.js", 'rb')
177
+ domgun_recurse_dom_string = domgun_recurse_dom_file.read
178
+ domgun_recurse_dom_file.close
179
+ domgun_recurse_dom_string
180
+ end
181
+
109
182
  end
@@ -3,15 +3,29 @@ require 'selenium/webdriver/support/abstract_event_listener'
3
3
  class RedGlassListener < Selenium::WebDriver::Support::AbstractEventListener
4
4
  attr_accessor :red_glass
5
5
 
6
+ def before_change_value_of(element, driver)
7
+ @red_glass.event_sequence << {:change_value => element.tag_name}
8
+ end
9
+
10
+ def before_click(element, driver)
11
+ @red_glass.event_sequence << {:click => element.tag_name}
12
+ end
13
+
6
14
  def after_navigate_back(driver)
15
+ @red_glass.event_sequence.clear
16
+ @red_glass.page_metadata = {}
7
17
  @red_glass.reload
8
18
  end
9
19
 
10
20
  def after_navigate_forward(driver)
21
+ @red_glass.event_sequence.clear
22
+ @red_glass.page_metadata = {}
11
23
  @red_glass.reload
12
24
  end
13
25
 
14
26
  def after_navigate_to(url, driver)
27
+ @red_glass.event_sequence.clear
28
+ @red_glass.page_metadata = {}
15
29
  @red_glass.reload
16
30
  end
17
31
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: red-glass
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-18 00:00:00.000000000 Z
12
+ date: 2013-05-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
@@ -147,77 +147,78 @@ extensions: []
147
147
  extra_rdoc_files: []
148
148
  files:
149
149
  - lib/red-glass/Gemfile~
150
- - lib/red-glass/public/images/ajax-loader.gif
151
- - lib/red-glass/public/images/rg-logo.png
152
- - lib/red-glass/public/scripts/jquery-1.8.0.min.js
153
- - lib/red-glass/public/scripts/jquery-ui-1.8.23.custom.min.js
154
- - lib/red-glass/public/scripts/jquery.getpath.js
155
- - lib/red-glass/public/scripts/jquery.red-glass-0.1.0.js
156
- - lib/red-glass/public/scripts/json2.js
157
- - lib/red-glass/public/scripts/prettify/lang-apollo.js
158
- - lib/red-glass/public/scripts/prettify/lang-clj.js
159
- - lib/red-glass/public/scripts/prettify/lang-css.js
160
- - lib/red-glass/public/scripts/prettify/lang-go.js
161
- - lib/red-glass/public/scripts/prettify/lang-hs.js
162
- - lib/red-glass/public/scripts/prettify/lang-lisp.js
163
- - lib/red-glass/public/scripts/prettify/lang-lua.js
164
- - lib/red-glass/public/scripts/prettify/lang-ml.js
165
- - lib/red-glass/public/scripts/prettify/lang-n.js
166
- - lib/red-glass/public/scripts/prettify/lang-proto.js
167
- - lib/red-glass/public/scripts/prettify/lang-scala.js
168
- - lib/red-glass/public/scripts/prettify/lang-sql.js
169
- - lib/red-glass/public/scripts/prettify/lang-tex.js
170
- - lib/red-glass/public/scripts/prettify/lang-vb.js
171
- - lib/red-glass/public/scripts/prettify/lang-vhdl.js
172
- - lib/red-glass/public/scripts/prettify/lang-wiki.js
173
- - lib/red-glass/public/scripts/prettify/lang-xq.js
174
- - lib/red-glass/public/scripts/prettify/lang-yaml.js
175
- - lib/red-glass/public/scripts/prettify/prettify.js
176
- - lib/red-glass/public/scripts/red-glass-app.js
177
- - lib/red-glass/public/stylesheets/blueprint/ie.css
178
- - lib/red-glass/public/stylesheets/blueprint/plugins/buttons/icons/cross.png
179
- - lib/red-glass/public/stylesheets/blueprint/plugins/buttons/icons/key.png
180
- - lib/red-glass/public/stylesheets/blueprint/plugins/buttons/icons/tick.png
181
- - lib/red-glass/public/stylesheets/blueprint/plugins/buttons/readme.txt
182
- - lib/red-glass/public/stylesheets/blueprint/plugins/buttons/screen.css
183
- - lib/red-glass/public/stylesheets/blueprint/plugins/fancy-type/readme.txt
184
- - lib/red-glass/public/stylesheets/blueprint/plugins/fancy-type/screen.css
185
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/icons/doc.png
186
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/icons/email.png
187
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/icons/external.png
188
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/icons/feed.png
189
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/icons/im.png
190
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/icons/lock.png
191
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/icons/pdf.png
192
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/icons/visited.png
193
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/icons/xls.png
194
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/readme.txt
195
- - lib/red-glass/public/stylesheets/blueprint/plugins/link-icons/screen.css
196
- - lib/red-glass/public/stylesheets/blueprint/plugins/rtl/readme.txt
197
- - lib/red-glass/public/stylesheets/blueprint/plugins/rtl/screen.css
198
- - lib/red-glass/public/stylesheets/blueprint/print.css
199
- - lib/red-glass/public/stylesheets/blueprint/screen.css
200
- - lib/red-glass/public/stylesheets/prettify.css
201
- - lib/red-glass/public/stylesheets/red-glass.css
202
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png
203
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png
204
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-bg_flat_10_000000_40x100.png
205
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png
206
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png
207
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png
208
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png
209
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
210
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
211
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-icons_222222_256x240.png
212
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-icons_228ef1_256x240.png
213
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-icons_ef8c08_256x240.png
214
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-icons_ffd27a_256x240.png
215
- - lib/red-glass/public/stylesheets/ui-lightness/images/ui-icons_ffffff_256x240.png
216
- - lib/red-glass/public/stylesheets/ui-lightness/jquery-ui-1.8.23.custom.css
217
- - lib/red-glass/red-glass-app.rb
150
+ - lib/red-glass/red-glass-app/public/images/ajax-loader.gif
151
+ - lib/red-glass/red-glass-app/public/images/rg-logo.png
152
+ - lib/red-glass/red-glass-app/public/scripts/jquery-1.8.0.min.js
153
+ - lib/red-glass/red-glass-app/public/scripts/jquery-ui-1.8.23.custom.min.js
154
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-apollo.js
155
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-clj.js
156
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-css.js
157
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-go.js
158
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-hs.js
159
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-lisp.js
160
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-lua.js
161
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-ml.js
162
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-n.js
163
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-proto.js
164
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-scala.js
165
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-sql.js
166
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-tex.js
167
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-vb.js
168
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-vhdl.js
169
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-wiki.js
170
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-xq.js
171
+ - lib/red-glass/red-glass-app/public/scripts/prettify/lang-yaml.js
172
+ - lib/red-glass/red-glass-app/public/scripts/prettify/prettify.js
173
+ - lib/red-glass/red-glass-app/public/scripts/red-glass-app.js
174
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/ie.css
175
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/buttons/icons/cross.png
176
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/buttons/icons/key.png
177
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/buttons/icons/tick.png
178
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/buttons/readme.txt
179
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/buttons/screen.css
180
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/fancy-type/readme.txt
181
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/fancy-type/screen.css
182
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/icons/doc.png
183
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/icons/email.png
184
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/icons/external.png
185
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/icons/feed.png
186
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/icons/im.png
187
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/icons/lock.png
188
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/icons/pdf.png
189
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/icons/visited.png
190
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/icons/xls.png
191
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/readme.txt
192
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/link-icons/screen.css
193
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/rtl/readme.txt
194
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/plugins/rtl/screen.css
195
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/print.css
196
+ - lib/red-glass/red-glass-app/public/stylesheets/blueprint/screen.css
197
+ - lib/red-glass/red-glass-app/public/stylesheets/prettify.css
198
+ - lib/red-glass/red-glass-app/public/stylesheets/red-glass.css
199
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png
200
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png
201
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-bg_flat_10_000000_40x100.png
202
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png
203
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png
204
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png
205
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png
206
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
207
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
208
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-icons_222222_256x240.png
209
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-icons_228ef1_256x240.png
210
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-icons_ef8c08_256x240.png
211
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-icons_ffd27a_256x240.png
212
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/images/ui-icons_ffffff_256x240.png
213
+ - lib/red-glass/red-glass-app/public/stylesheets/ui-lightness/jquery-ui-1.8.23.custom.css
214
+ - lib/red-glass/red-glass-app/red-glass-app.rb
215
+ - lib/red-glass/red-glass-app/views/index.erb
216
+ - lib/red-glass/red-glass-js/jquery.getpath.js
217
+ - lib/red-glass/red-glass-js/jquery.red-glass-0.1.0.js
218
+ - lib/red-glass/red-glass-js/json2.js
219
+ - lib/red-glass/red-glass-js/serialize-dom.js
218
220
  - lib/red-glass/red_glass.rb
219
221
  - lib/red-glass/red_glass_listener.rb
220
- - lib/red-glass/views/index.erb
221
222
  - lib/red-glass.rb
222
223
  homepage: https://github.com/fohara/red-glass
223
224
  licenses: []