Sha256: 2b1caaec435946ddbd8c6c178161720312cc7aada20a57578b8c1d2d4e006821
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 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.locked_gems.specs.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_job') } 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
negroku-2.5.2 | lib/negroku/config.rb |