summaryrefslogtreecommitdiff
path: root/core/lib/leap_web_core/dependencies.rb
blob: 877e3d1fe4d57021e7fe437f6e4f84dba31f42b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
module LeapWebCore
  class Dependencies
    UI_DEV = {
      "haml-rails" => "~> 0.3.4",
      "sass-rails" => "~> 3.2.5",
      "coffee-rails" => "~> 3.2.2",
      "uglifier" => "~> 1.2.7"
    }

    UI = {
      "haml" =>  "~> 3.1.7",
      "jquery-rails" => nil,
      "simple_form" => nil,
      "bootswatch-rails", "~> 0.5.0"
    }

    def self.require_ui_gems
      UI.keys.each {|dep| require dep}
      if Rails.env == "development"
        # This will be run in the app including plugins that run it.
        # However not all development_dependencies might be present.
        # So we better only require those that are.
        available = Bundler.definition.specs.map(&:name)
        gems_to_require = available & UI_DEV.keys
        gems_to_require.each {|dep| require dep}
      end
    end

    def self.add_ui_gems_to_spec(spec)
      UI.each do |dep, version|
        spec.add_dependency dep, version
      end

      UI_DEV.each do |dep, version|
        spec.add_development_dependency dep, version
      end
    end

  end
end