red-glass 0.0.6 → 0.1.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.
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: []