mq_reporter 0.0.2

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.
data/bin/mq_reporter ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'mq_reporter/cli'
4
+ MqReporter::CLI.start
@@ -0,0 +1,51 @@
1
+ require 'mq_reporter/version'
2
+ require 'thread'
3
+ require 'curb'
4
+
5
+ module MqReporter
6
+
7
+ class << self
8
+
9
+ # Copies the mq_reporter.css file to vendor/assets/stylesheets and adds it
10
+ # the application layout file.
11
+ #
12
+ # @see MqReporter::MqReporter.init
13
+ #
14
+ # @param [String] mq_reporter the name of the CSS file to add to vendor/assets/stylesheets
15
+ #
16
+ def init(filename = "mq_reporter")
17
+ stylesheet = "#{ Dir.pwd }/vendor/assets/stylesheets/#{ filename }.css"
18
+ # TODO Make it so it doesn't hard code the .erb file. (Allow use of HAML, etc.)
19
+ layout_file = "#{ Dir.pwd }/app/views/layouts/application.html.erb"
20
+
21
+ # TODO Turn this into a begin, rescue, end block like Guard uses.
22
+ if !File.exist?(stylesheet)
23
+ # Add mq_reporter.css to vendor/assets/stylesheets if the file isn't already there.
24
+ download_file(stylesheet)
25
+ else
26
+ # TODO Verify the file contents are the same. If they aren't, overwrite the old file with the new one.
27
+ end
28
+
29
+ add_stylesheet_to_layout(stylesheet, layout_file, filename)
30
+ end
31
+
32
+ def download_file(stylesheet)
33
+ url = "https://raw.github.com/davidcochran/CSS3-Media-Query-Reporter/master/mediaquery-reporter.css"
34
+ c = Curl::Easy.perform(url).body_str
35
+ File.open("#{ stylesheet }", 'w') { |f| f.write(c) }
36
+ end
37
+
38
+ def add_stylesheet_to_layout(stylesheet, layout_file, filename)
39
+ layout_content = File.read(layout_file)
40
+ add_to_layout = "<% if Rails.env.development? %>\n\t<%= stylesheet_link_tag \"#{filename}\" %>\n<% end %>"
41
+ File.open(layout_file, 'wb') do |f|
42
+ # TODO rather than just appending to the end of the file, put it in the <head>
43
+ # of the document immediately under the stylesheet_include_tag
44
+ f.puts layout_content
45
+ f.puts ""
46
+ f.puts add_to_layout
47
+ end
48
+ end
49
+
50
+ end
51
+ end
@@ -0,0 +1,28 @@
1
+ require 'thor'
2
+ require 'mq_reporter'
3
+
4
+ module MqReporter
5
+ # Facade for the MqReporter command line interface managed by [Thor](https://github.com/wycats/thor).
6
+ # This is the main interface to MqReporter that is called by the MqReporter binary `bin/mq_reporter`.
7
+ # Do not put any logic in here, create a class and delegate instead.
8
+ #
9
+ class CLI < Thor
10
+ default_task :init
11
+
12
+ desc 'init', 'Initalizes MqReporter'
13
+ desc 'init [FILENAME]', 'Copies mq_reporter.css (as FILENAME.css) file into vendor/assets/stylesheets and adds it to the application.html.erb file'
14
+
15
+ # Copies the mq_reporter.css file to vendor/assets/stylesheets and adds it
16
+ # the application layout file.
17
+ #
18
+ # @see MqReporter.init
19
+ #
20
+ # @param [String] filename the name of the file to add to the application
21
+ #
22
+ def init(filename = "mq_reporter")
23
+ # Provide an option for someone to pass a name they want for the file (not including the .css extention.)
24
+ MqReporter.init(filename)
25
+ end
26
+
27
+ end
28
+ end
@@ -0,0 +1,6 @@
1
+ module MqReporter
2
+ unless defined? MqReporter::VERSION
3
+ # The current gem version of MqReporter
4
+ VERSION = '0.0.2'
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ require 'mq_reporter'
2
+
3
+ describe MqReporter do
4
+ it "should probably test something... but I don't know what"
5
+ end
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mq_reporter
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.2
6
+ platform: ruby
7
+ authors:
8
+ - Christopher Moeller
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-12-08 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: thor
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 0.14.6
24
+ type: :runtime
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: curb
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 0.7.16
35
+ type: :runtime
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: "2.6"
46
+ type: :development
47
+ version_requirements: *id003
48
+ description: David Cochran's CSS3 Media Query Reporter can be found at http://alittlecode.com/a-little-css3-media-query-reporter/
49
+ email:
50
+ - christopher.moeller@gmail.com
51
+ executables:
52
+ - mq_reporter
53
+ extensions: []
54
+
55
+ extra_rdoc_files: []
56
+
57
+ files:
58
+ - bin/mq_reporter
59
+ - lib/mq_reporter/cli.rb
60
+ - lib/mq_reporter/version.rb
61
+ - lib/mq_reporter.rb
62
+ - spec/mq_reporter_spec.rb
63
+ homepage: http://github.com/cmoel/mq_reporter
64
+ licenses: []
65
+
66
+ post_install_message:
67
+ rdoc_options: []
68
+
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: "0"
77
+ required_rubygems_version: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: "0"
83
+ requirements: []
84
+
85
+ rubyforge_project: mq_reporter
86
+ rubygems_version: 1.8.11
87
+ signing_key:
88
+ specification_version: 3
89
+ summary: Adds CSS3 Media Query Reporter by David Cochran to your Rails app
90
+ test_files:
91
+ - spec/mq_reporter_spec.rb