css-get 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.
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Jack Russell Software Company LLC
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,27 @@
1
+ = css-get
2
+
3
+ == Usage
4
+ css-get [options] list|install|uninstall css_name
5
+
6
+ For help use: css-get --help
7
+
8
+ == Options
9
+ -h, --help Displays help message
10
+ -v, --version Displays version
11
+ -q, --quiet Output as little as possible, overrides verbose
12
+ -V, --verbose Verbose output
13
+
14
+ == Note on Patches/Pull Requests
15
+
16
+ * Fork the project.
17
+ * Make your feature addition or bug fix.
18
+ * Add tests for it. This is important so I don't break it in a
19
+ future version unintentionally.
20
+ * Commit, do not mess with rakefile, version, or history.
21
+ (if you want to have your own version, that is fine but
22
+ bump version in a commit by itself I can ignore when I pull)
23
+ * Send me a pull request. Bonus points for topic branches.
24
+
25
+ == Copyright
26
+
27
+ Copyright (c) 2009 Jack Russell Software Company LLC. See LICENSE for details.
data/Rakefile ADDED
@@ -0,0 +1,59 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "css-get"
8
+ gem.summary = %Q{css library install}
9
+ gem.description = %Q{command line interface to install css libraries}
10
+ gem.email = "andrew@jackrussellsoftware.com"
11
+ gem.homepage = "http://github.com/akennedy/css-get"
12
+ gem.authors = ["Tom Wilson", "Andrew Kennedy", "Barrett Little", "Russell Niller"]
13
+ gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
14
+ gem.add_dependency('rest-client', '>= 1.0.3')
15
+ gem.add_dependency('crack', '>= 0.1.2')
16
+ gem.has_rdoc = true
17
+ gem.files = FileList["[A-Z]*", "{bin,generators,lib,test}/**/*"]
18
+
19
+
20
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
21
+ end
22
+ Jeweler::GemcutterTasks.new
23
+ rescue LoadError
24
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
25
+ end
26
+
27
+ require 'rake/testtask'
28
+ Rake::TestTask.new(:test) do |test|
29
+ test.libs << 'lib' << 'test'
30
+ test.pattern = 'test/**/test_*.rb'
31
+ test.verbose = true
32
+ end
33
+
34
+ begin
35
+ require 'rcov/rcovtask'
36
+ Rcov::RcovTask.new do |test|
37
+ test.libs << 'test'
38
+ test.pattern = 'test/**/test_*.rb'
39
+ test.verbose = true
40
+ end
41
+ rescue LoadError
42
+ task :rcov do
43
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
44
+ end
45
+ end
46
+
47
+ task :test => :check_dependencies
48
+
49
+ task :default => :test
50
+
51
+ require 'rake/rdoctask'
52
+ Rake::RDocTask.new do |rdoc|
53
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
54
+
55
+ rdoc.rdoc_dir = 'rdoc'
56
+ rdoc.title = "css-get #{version}"
57
+ rdoc.rdoc_files.include('README*')
58
+ rdoc.rdoc_files.include('bin/css-get')
59
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
data/bin/css-get ADDED
@@ -0,0 +1,195 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # == Synopsis
4
+ # This is a command line application that helps install css in your app.
5
+ #
6
+ #
7
+ # == Examples
8
+ # This command does install 960 in your public/stylesheets folder.
9
+ # css-get install 960
10
+ #
11
+ # Other examples:
12
+ # css-get list
13
+ # css-get uninstall 960
14
+ #
15
+ # == Usage
16
+ # css-get [options] list|install|uninstall css_name
17
+ #
18
+ # For help use: css-get --help
19
+ #
20
+ # == Options
21
+ # -h, --help Displays help message
22
+ # -v, --version Displays version
23
+ # -q, --quiet Output as little as possible, overrides verbose
24
+ # -V, --verbose Verbose output
25
+ # TO DO - add additional options
26
+ #
27
+ # == Author
28
+ # Tom Wilson, Andrew Kennedy, Barrett Little, Russell Niller
29
+ #
30
+ # == Copyright
31
+ # Copyright (c) 2008 Jack Russell Software Company. Licensed under the MIT License:
32
+ # http://www.opensource.org/licenses/mit-license.php
33
+
34
+
35
+ require 'optparse'
36
+ require 'rdoc/usage'
37
+ require 'ostruct'
38
+ require 'date'
39
+ require 'rest_client'
40
+ require 'crack'
41
+ require 'fileutils'
42
+
43
+ class App
44
+ VERSION = '0.1.0'
45
+ CSSDIR = ENV['CSSDIR'] || "public/stylesheets"
46
+ HOST = ENV['CSSGET_HOST'] || "http://css-get.jackhq.com"
47
+
48
+ attr_reader :options
49
+
50
+ def initialize(arguments, stdin)
51
+ @arguments = arguments
52
+ @stdin = stdin
53
+
54
+ # Set defaults
55
+ @options = OpenStruct.new
56
+ @options.verbose = false
57
+ @options.quiet = false
58
+ # TO DO - add additional defaults
59
+ end
60
+
61
+ # Parse options, check arguments, then process the command
62
+ def run
63
+
64
+ if parsed_options? && arguments_valid?
65
+
66
+ puts "Start at #{DateTime.now}\n\n" if @options.verbose
67
+
68
+ output_options if @options.verbose # [Optional]
69
+
70
+ process_arguments
71
+ process_command
72
+
73
+ puts "\nFinished at #{DateTime.now}" if @options.verbose
74
+
75
+ else
76
+ output_usage
77
+ end
78
+
79
+ end
80
+
81
+ protected
82
+
83
+ def parsed_options?
84
+
85
+ # Specify options
86
+ opts = OptionParser.new
87
+ opts.on('-v', '--version') { output_version ; exit 0 }
88
+ opts.on('-h', '--help') { output_help }
89
+ opts.on('-V', '--verbose') { @options.verbose = true }
90
+ opts.on('-q', '--quiet') { @options.quiet = true }
91
+ # TO DO - add additional options
92
+
93
+ opts.parse!(@arguments) rescue return false
94
+
95
+ process_options
96
+ true
97
+ end
98
+
99
+ # Performs post-parse processing on options
100
+ def process_options
101
+ @options.verbose = false if @options.quiet
102
+ end
103
+
104
+ def output_options
105
+ puts "Options:\n"
106
+
107
+ @options.marshal_dump.each do |name, val|
108
+ puts " #{name} = #{val}"
109
+ end
110
+ end
111
+
112
+ # True if required arguments were provided
113
+ def arguments_valid?
114
+ true if ['install','list','uninstall'].include?(@arguments[0])
115
+ end
116
+
117
+ # Setup the arguments
118
+ def process_arguments
119
+ # TO DO - place in local vars, etc
120
+ end
121
+
122
+ def output_help
123
+ output_version
124
+ RDoc::usage() #exits app
125
+ end
126
+
127
+ def output_usage
128
+ RDoc::usage('usage') # gets usage from comments above
129
+ end
130
+
131
+ def output_version
132
+ puts "#{File.basename(__FILE__)} version #{VERSION}"
133
+ end
134
+
135
+ def process_command
136
+ command = @arguments[0]
137
+ # Remove First Argument
138
+ @arguments.slice!(0)
139
+
140
+ send(command.to_sym)
141
+
142
+ #process_standard_input # [Optional]
143
+ end
144
+
145
+ def install
146
+ # Install CSS
147
+ @arguments.each do |css_name|
148
+ puts "Installing CSS - #{css_name}" if @options.verbose
149
+ jlib = Crack::JSON.parse(RestClient.get("#{HOST}/scripts/#{css_name}"))
150
+ FileUtils.mkpath(CSSDIR)
151
+ File.open([CSSDIR, "#{css_name}.css"].join('/'), 'w') do |f|
152
+ f.write(RestClient.get(jlib["src_url"]))
153
+ end
154
+ puts "Successfully Installed - #{css_name}" if @options.verbose
155
+ end
156
+ rescue
157
+ puts "Could not locate css library on #{HOST}"
158
+ end
159
+
160
+ def list
161
+ # List Libraries
162
+ libraries = Crack::JSON.parse(RestClient.get("#{HOST}/scripts.json"))
163
+ libraries.each do |lib|
164
+ puts lib["name"]
165
+ end
166
+ end
167
+
168
+ def uninstall
169
+ @arguments.each do |css_name|
170
+ puts "Removing CSS - #{css_name}" if @options.verbose
171
+ FileUtils.rm [ [CSSDIR,"#{css_name}.css"].join('/') ]
172
+ puts "Successfully removed css library - #{css_name}" if @options.verbose
173
+ end
174
+ rescue
175
+ puts "Could not remove css library"
176
+ end
177
+
178
+ def process_standard_input
179
+ input = @stdin.read
180
+ # TO DO - process input
181
+
182
+ # [Optional]
183
+ #@stdin.each do |line|
184
+ # # TO DO - process each line
185
+ #end
186
+ end
187
+ end
188
+
189
+
190
+ # TO DO - Add your Modules, Classes, etc
191
+
192
+
193
+ # Create and run the application
194
+ app = App.new(ARGV, STDIN)
195
+ app.run
data/lib/css-get.rb ADDED
File without changes
data/test/helper.rb ADDED
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'shoulda'
4
+
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
7
+ require 'css-get'
8
+
9
+ class Test::Unit::TestCase
10
+ end
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ class TestCssGet < Test::Unit::TestCase
4
+ should "probably rename this file and start testing for real" do
5
+ flunk "hey buddy, you should probably rename this file and start testing for real"
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,96 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: css-get
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Tom Wilson
8
+ - Andrew Kennedy
9
+ - Barrett Little
10
+ - Russell Niller
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+
15
+ date: 2009-10-23 00:00:00 -04:00
16
+ default_executable: css-get
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
19
+ name: thoughtbot-shoulda
20
+ type: :development
21
+ version_requirement:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: "0"
27
+ version:
28
+ - !ruby/object:Gem::Dependency
29
+ name: rest-client
30
+ type: :runtime
31
+ version_requirement:
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 1.0.3
37
+ version:
38
+ - !ruby/object:Gem::Dependency
39
+ name: crack
40
+ type: :runtime
41
+ version_requirement:
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 0.1.2
47
+ version:
48
+ description: command line interface to install css libraries
49
+ email: andrew@jackrussellsoftware.com
50
+ executables:
51
+ - css-get
52
+ extensions: []
53
+
54
+ extra_rdoc_files:
55
+ - LICENSE
56
+ - README.rdoc
57
+ files:
58
+ - LICENSE
59
+ - README.rdoc
60
+ - Rakefile
61
+ - VERSION
62
+ - bin/css-get
63
+ - lib/css-get.rb
64
+ - test/helper.rb
65
+ - test/test_css-get.rb
66
+ has_rdoc: true
67
+ homepage: http://github.com/akennedy/css-get
68
+ licenses: []
69
+
70
+ post_install_message:
71
+ rdoc_options:
72
+ - --charset=UTF-8
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: "0"
80
+ version:
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: "0"
86
+ version:
87
+ requirements: []
88
+
89
+ rubyforge_project:
90
+ rubygems_version: 1.3.5
91
+ signing_key:
92
+ specification_version: 3
93
+ summary: css library install
94
+ test_files:
95
+ - test/helper.rb
96
+ - test/test_css-get.rb