С помощью некоторых уроков я сделал свой первый простой камень, который добавляет файлы Sass/CSS в каталог ресурсов/таблиц стилей приложения.Rails: создать собственный камень
Это неудобно, но проблема в том, что я не знаю, как запустить мой драгоценный камень в приложении.
gemspec:
# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'example/version'
Gem::Specification.new do |spec|
spec.name = "Example"
spec.version = Example::VERSION
spec.authors = ["***"]
spec.email = ["***"]
spec.description = %q{Provide CSS styles}
spec.summary = %q{Provide CSS styles}
spec.homepage = ""
spec.license = "MIT"
spec.files = `git ls-files`.split($/)
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]
spec.add_development_dependency "bundler", "~> 1.3"
spec.add_development_dependency "rake"
spec.add_development_dependency "redcarpet", "~> 1.17"
spec.add_development_dependency "yard", "~> 0.7.5"
end
example.rb:
require "example/version"
module Example
def self.install
original_dir = Dir["/lib/example/*.css.scss"]
original_dir.each do |f|
name = File.basename('main', '.css.scss')
destination_dir = "/app/assets/stylesheets/#{name}"
FileUtils.cp(main, destination_folder)
end
end
end
Rakefile:
require "bundler/gem_tasks"
require 'yard'
YARD::Rake::YardocTask.new
Я считаю, что я должен написать некоторые задачи грабли, но я не уверен, как мне это сделать.
Спасибо!
почему вы не знаете? добавьте ссылку на драгоценный камень в ** Gemfile проекта **, который использует драгоценный камень, следующим образом: gem 'youe_gem_name',: path => '/ path/to/your/gem/root'. затем выпустите 'bundle install' из другой папки проектов. Если это приложение для рельсов, просто запустите рельсы. И вызовите вызов на «Example.install» из конфигурации rails. –
Конечно, я добавил его в Gemfile. Но, как вы можете видеть в 'example.rb', мой драгоценный камень добавляет' main.css.scss' в 'app/assets/stylesheets'. Я установил gem, но не знаю, как заставить его работать –
Я вижу два несоответствия: вы оцениваете destination_dir, но затем используете destination_folder, затем вы перечисляете f, но не используете его тогда. –