class SourceFile

Public Instance Methods

convert() click to toggle source
# File lib/jstree-rails-4/source_file.rb, line 29
def convert
  self.destination_root = 'vendor/assets'
  inside destination_root do
    gsub_file 'stylesheets/jstree-default.scss', %r/url\((?:\"|\')([^\)]+\.(?:gif|png))(?:\"|\')\)/, 'image-url("default/\1")'
    gsub_file 'stylesheets/jstree-default-dark.scss', %r/url\((?:\"|\')([^\)]+\.(?:gif|png))(?:\"|\')\)/, 'image-url("default-dark/\1")'
  end
end
fetch() click to toggle source
# File lib/jstree-rails-4/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 = 'vendor/assets'
  remote = 'https://github.com/vakata/jstree'
  # IMAGES
  get "#{remote}/raw/#{tag}/dist/themes/default/32px.png", 'images/default/32px.png'
  get "#{remote}/raw/#{tag}/dist/themes/default/40px.png", 'images/default/40px.png'
  get "#{remote}/raw/#{tag}/dist/themes/default/throbber.gif", 'images/default/throbber.gif'
  get "#{remote}/raw/#{tag}/dist/themes/default-dark/32px.png", 'images/default-dark/32px.png'
  get "#{remote}/raw/#{tag}/dist/themes/default-dark/40px.png", 'images/default-dark/40px.png'
  get "#{remote}/raw/#{tag}/dist/themes/default-dark/throbber.gif", 'images/default-dark/throbber.gif'
  # CSS
  get "#{remote}/raw/#{tag}/dist/themes/default/style.css", 'stylesheets/jstree-default.scss'
  get "#{remote}/raw/#{tag}/dist/themes/default-dark/style.css", 'stylesheets/jstree-default-dark.scss'
  # JS
  get "#{remote}/raw/#{tag}/dist/jstree.js", 'javascripts/jstree.js'
end

Private Instance Methods

fetch_tags() click to toggle source
# File lib/jstree-rails-4/source_file.rb, line 39
def fetch_tags
  http = HTTPClient.new
  #http.ssl_config.ssl_version = :SSLv23
  response = JSON.parse(http.get('https://api.github.com/repos/vakata/jstree/tags').body)
  response.map{|tag| tag['name']}.sort
end
select(msg, elements) { |element, index + 1| ... } click to toggle source
# File lib/jstree-rails-4/source_file.rb, line 46
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