class SourceFile

Public Instance Methods

cleanup() click to toggle source
# File lib/select2-rails/source_file.rb, line 37
def cleanup
  self.destination_root = "app/assets"
  remove_file "stylesheets/select2.css"
end
convert() click to toggle source
# File lib/select2-rails/source_file.rb, line 25
def convert
  self.destination_root = "app/assets"
  inside destination_root do
    run("cp stylesheets/select2.css stylesheets/select2.css.scss")
    gsub_file 'stylesheets/select2.css.scss', '(select2-spinner.gif)', "('select2-spinner.gif')"
    gsub_file 'stylesheets/select2.css.scss', '(select2.png)', "('select2.png')"
    gsub_file 'stylesheets/select2.css.scss', '(select2x2.png)', "('select2x2.png')"
    gsub_file 'stylesheets/select2.css.scss', ' url', ' image-url'
  end
end
fetch() click to toggle source
# File lib/select2-rails/source_file.rb, line 9
def fetch
  filtered_tags = fetch_tags
  tag = select("Which tag do you want to fetch?", filtered_tags)
  self.destination_root = "app/assets"
  remote = "https://github.com/ivaynberg/select2"
  get "#{remote}/raw/#{tag}/select2.png", "images/select2.png"
  get "#{remote}/raw/#{tag}/select2x2.png", "images/select2x2.png"
  get "#{remote}/raw/#{tag}/select2-spinner.gif", "images/select2-spinner.gif"
  get "#{remote}/raw/#{tag}/select2.css", "stylesheets/select2.css"
  get "#{remote}/raw/#{tag}/select2.js", "javascripts/select2.js"
  languages.each do |lang|
    get "#{remote}/raw/#{tag}/select2_locale_#{lang}.js", "javascripts/select2_locale_#{lang}.js"
  end
end

Private Instance Methods

fetch_tags() click to toggle source
# File lib/select2-rails/source_file.rb, line 42
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
languages() click to toggle source
# File lib/select2-rails/source_file.rb, line 47
def languages
  [ "ar", "ca", "cs", "da", "de", "el", "es", "et", "eu", "fi", "fr", "gl", "he", "hr", 
    "hu", "id", "is", "it", "ja", "ko", "lt", "lv", "mk", "nl", "no", "pl", "pt-BR", 
    "pt-PT", "ro", "ru", "sk", "sv", "tr", "ua", "vi", "zh-CN", "zh-TW"
  ].sort   
end
select(msg, elements) { |element, index + 1| ... } click to toggle source
# File lib/select2-rails/source_file.rb, line 53
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