Module: Houston::Adapters

Defined in:
app/adapters/houston/adapters.rb,
app/adapters/houston/adapters/ci_server/errors.rb,
app/adapters/houston/adapters/deployment/engineyard.rb,
app/adapters/houston/adapters/ticket_tracker/errors.rb,
app/adapters/houston/adapters/ci_server/none_adapter.rb,
app/adapters/houston/adapters/error_tracker/null_app.rb,
app/adapters/houston/adapters/version_control/commit.rb,
app/adapters/houston/adapters/version_control/errors.rb,
app/adapters/houston/adapters/ci_server/jenkins_adapter.rb,
app/adapters/houston/adapters/version_control/null_repo.rb,
app/adapters/houston/adapters/ci_server/none_adapter/job.rb,
app/adapters/houston/adapters/error_tracker/none_adapter.rb,
app/adapters/houston/adapters/ticket_tracker/null_ticket.rb,
app/adapters/houston/adapters/ticket_tracker/none_adapter.rb,
app/adapters/houston/adapters/version_control/git_adapter.rb,
app/adapters/houston/adapters/version_control/null_commit.rb,
app/adapters/houston/adapters/deployment/engineyard/config.rb,
app/adapters/houston/adapters/error_tracker/errbit_adapter.rb,
app/adapters/houston/adapters/version_control/none_adapter.rb,
app/adapters/houston/adapters/ci_server/jenkins_adapter/job.rb,
app/adapters/houston/adapters/ticket_tracker/github_adapter.rb,
app/adapters/houston/adapters/ticket_tracker/houston_adapter.rb,
app/adapters/houston/adapters/ticket_tracker/null_connection.rb,
app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter.rb,
app/adapters/houston/adapters/error_tracker/errbit_adapter/app.rb,
app/adapters/houston/adapters/version_control/git_adapter/repo.rb,
app/adapters/houston/adapters/error_tracker/errbit_adapter/notice.rb,
app/adapters/houston/adapters/ticket_tracker/github_adapter/issue.rb,
app/adapters/houston/adapters/error_tracker/errbit_adapter/problem.rb,
app/adapters/houston/adapters/ticket_tracker/houston_adapter/ticket.rb,
app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter/ticket.rb,
app/adapters/houston/adapters/error_tracker/errbit_adapter/connection.rb,
app/adapters/houston/adapters/version_control/git_adapter/github_repo.rb,
app/adapters/houston/adapters/version_control/git_adapter/remote_repo.rb,
app/adapters/houston/adapters/ticket_tracker/github_adapter/connection.rb,
app/adapters/houston/adapters/ticket_tracker/houston_adapter/connection.rb,
app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter/milestone.rb,
app/adapters/houston/adapters/ticket_tracker/unfuddle_adapter/connection.rb

Defined Under Namespace

Modules: CIServer, Deployment, ErrorTracker, TicketTracker, VersionControl

Class Method Summary collapse

Class Method Details

.define_adapter_namespace(name) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/adapters/houston/adapters.rb', line 13

def define_adapter_namespace(name)
  namespace = ::Module.new
  const_set name, namespace

  pathname = name_to_path(name)
  adapters_paths = File.join(File.dirname(__FILE__), "adapters/#{pathname}/*_adapter.rb")
  Dir[adapters_paths].each(&method(:require))

  def namespace.adapters
    constants
      .select { |sym| sym =~ /Adapter$/ }
      .map { |sym| sym[/^.*(?=Adapter)/] }
      .sort_by { |name| name == "None" ? "" : name }
  end

  def namespace.adapter(name)
    const_get "#{name}Adapter"
  end

  def namespace.adapter?(name)
    adapters.map(&:downcase).member?(name.to_s.downcase)
  end
end

.eachObject



5
6
7
8
9
# File 'app/adapters/houston/adapters.rb', line 5

def each
  constants.each do |name|
    yield name, name_to_path(name)
  end
end