Sha256: 0689df70830ca52cda66059061918ad07996268829e9e10b8be318984c24eb0a
Contents?: true
Size: 1.55 KB
Versions: 2
Compression:
Stored size: 1.55 KB
Contents
module Negroku class Feature include Virtus.value_object values do attribute :name, String attribute :required, Boolean, default: false attribute :enabled, Boolean, default: false, :writer => :public end end end class Negroku::ConfigFactory include Virtus.model def self.loaded_in_bundler(name) Bundler.load.dependencies.any? {|a| a.name == name} end attribute :bower, Negroku::Feature, default: { name: "bower", enabled: File.exists?('bower.json') } attribute :bundler, Negroku::Feature, default: { name: "bundler", enabled: File.exists?('Gemfile') } attribute :delayed_job, Negroku::Feature, default: { name: "delayed_job", enabled: loaded_in_bundler('delayed_jobs') } attribute :nginx, Negroku::Feature, default: { name: "nginx", enabled: true, required: true } attribute :nodenv, Negroku::Feature, default: { name: "nodenv", enabled: true, required: true } attribute :rails, Negroku::Feature, default: { name: "rails", enabled: loaded_in_bundler('rails') } attribute :rbenv, Negroku::Feature, default: { name: "rbenv", enabled: true, required: true } attribute :sphinx, Negroku::Feature, default: { name: "sphinx", enabled: loaded_in_bundler('thinking-sphinx') } attribute :unicorn, Negroku::Feature, default: { name: "unicorn", enabled: loaded_in_bundler('unicorn') } attribute :whenever, Negroku::Feature, default: { name: "whenever", enabled: loaded_in_bundler('whenever') } # private end Negroku::Config = Negroku::ConfigFactory.new
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
negroku-2.5.1 | lib/negroku/config.rb |
negroku-2.5.0 | lib/negroku/config.rb |