Skip to content

Commit

Permalink
Removing sass dependency, user can now choose a tag to fetch select2 …
Browse files Browse the repository at this point in the history
…from upstream.
  • Loading branch information
lunks committed Aug 20, 2012
1 parent 3f710bf commit 0032a9a
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 12 deletions.
38 changes: 27 additions & 11 deletions lib/select2-rails/source_file.rb
Original file line number Diff line number Diff line change
@@ -1,26 +1,30 @@
require "thor"
require "json"
require "httpclient"

class SourceFile < Thor
include Thor::Actions

desc "fetch source files", "fetch source files from GitHub"
def fetch
filtered_tags = fetch_tags
tag = select("Which tag do you want to fetch?", filtered_tags)
self.destination_root = "vendor/assets"
remote = "https://github.com/ivaynberg/select2"
get "#{remote}/raw/master/select2.png", "images/select2.png"
get "#{remote}/raw/master/spinner.gif", "images/spinner.gif"
get "#{remote}/raw/master/select2.css", "stylesheets/select2.css"
get "#{remote}/raw/master/select2.js", "javascripts/select2.js"
get "#{remote}/raw/#{tag}/select2.png", "images/select2.png"
get "#{remote}/raw/#{tag}/spinner.gif", "images/spinner.gif"
get "#{remote}/raw/#{tag}/select2.css", "stylesheets/select2.css"
get "#{remote}/raw/#{tag}/select2.js", "javascripts/select2.js"
end

desc "convert css to sass file", "convert css to sass file by sass-convert"
desc "convert css to scss file", "convert css to scss file"
def convert
self.destination_root = "vendor/assets"
inside destination_root do
run("sass-convert -F css -T sass stylesheets/select2.css stylesheets/select2.css.sass")
gsub_file 'stylesheets/select2.css.sass', '(spinner.gif)', "('spinner.gif')"
gsub_file 'stylesheets/select2.css.sass', '(select2.png)', "('select2.png')"
gsub_file 'stylesheets/select2.css.sass', ' url', ' image-url'
run("cp stylesheets/select2.css stylesheets/select2.css.scss")
gsub_file 'stylesheets/select2.css.scss', '(spinner.gif)', "('spinner.gif')"
gsub_file 'stylesheets/select2.css.scss', '(select2.png)', "('select2.png')"
gsub_file 'stylesheets/select2.css.scss', ' url', ' image-url'
end
end

Expand All @@ -29,5 +33,17 @@ def cleanup
self.destination_root = "vendor/assets"
remove_file "stylesheets/select2.css"
end

end
private
def fetch_tags
http = HTTPClient.new
response = JSON.parse(http.get("https://api.github.com/repos/ivaynberg/select2/tags").body)
response.map{|tag| tag["name"]}.sort
end
def select msg, elements
elements.each_with_index do |element, index|
say(block_given? ? yield(element, index + 1) : ("#{index + 1}. #{element.to_s}"))
end
result = ask(msg).to_i
elements[result - 1]
end
end
2 changes: 1 addition & 1 deletion select2-rails.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ Gem::Specification.new do |s|
s.add_dependency "thor", "~> 0.14"
s.add_development_dependency "bundler", "~> 1.0"
s.add_development_dependency "rails", "~> 3.0"
s.add_development_dependency "sass", "~> 3.1"
s.add_development_dependency "httpclient", "~> 2.2"
end

0 comments on commit 0032a9a

Please sign in to comment.