Class: Trigonal::Rails3

Inherits:
Object
  • Object
show all
Defined in:
lib/trigonal-rails3/trigonal-rails3.rb

Defined Under Namespace

Classes: IncorrectRailsVersionError

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Rails3

Returns a new instance of Rails3.



7
8
9
10
11
12
13
14
15
16
# File 'lib/trigonal-rails3/trigonal-rails3.rb', line 7

def initialize(options = {})
  check_rails_version

  @trigonal = Trigonal.new(options) do |t|
    t.environment ::Rails.env
    t.appname     options[:app_name] || get_local_app_name
    t.name        options[:name]
  end
  post(options[:force]) unless options[:do_not_post] == true
end

Instance Method Details

#check_rails_versionObject



22
23
24
25
26
# File 'lib/trigonal-rails3/trigonal-rails3.rb', line 22

def check_rails_version
  if get_rails_version.to_s !~ /^3\./
    raise IncorrectRailsVersionError, "The Trigonal-Rails3 gem is for Rails 3 only, you are running it under Rails #{get_rails_version}"
  end
end

#get_local_app_nameObject



32
33
34
# File 'lib/trigonal-rails3/trigonal-rails3.rb', line 32

def get_local_app_name
  Rails.application.class.parent_name
end

#get_rails_versionObject



28
29
30
# File 'lib/trigonal-rails3/trigonal-rails3.rb', line 28

def get_rails_version
  @rails_version = ::Rails.version
end

#post(force = false) ⇒ Object



18
19
20
# File 'lib/trigonal-rails3/trigonal-rails3.rb', line 18

def post(force=false)
  @trigonal.post_manifest( { :force => force })
end