Module: Redmine

Defined in:
lib/redmine.rb,
lib/redmine/cli.rb,
lib/redmine/issue.rb,
lib/redmine/value.rb,
lib/redmine/client.rb,
lib/redmine/command.rb,
lib/redmine/project.rb,
lib/redmine/version.rb,
lib/redmine/commands.rb,
lib/redmine/accept_json.rb,
lib/redmine/issue_event.rb,
lib/redmine/rest_client.rb,
lib/redmine/http_caching.rb,
lib/redmine/issue_change.rb,
lib/redmine/configuration.rb,
lib/redmine/commands/issue.rb,
lib/redmine/commands/issues.rb,
lib/redmine/commands/projects.rb,
lib/redmine/commands/issue/show.rb,
lib/redmine/commands/lead_times.rb,
lib/redmine/commands/issue/activity.rb

Overview

Redmine command line API

This gem provides a command-line API to the popular Redmine issue tracking system, using its REST API.

Defined Under Namespace

Modules: Command, Commands Classes: AcceptJson, Cli, Client, Configuration, HttpCaching, Issue, IssueChange, IssueEvent, Project, RestClient, Value

Constant Summary collapse

VERSION =
'0.1.1'.freeze

Class Method Summary collapse

Class Method Details

.cli(args) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/redmine.rb', line 28

def cli(args)
  cache = PStore.new(configuration.http_cache)
  base_uri = URI.parse(configuration.base_uri)
  rest_client = RestClient.new(
    base_uri: base_uri,
    default_headers: {
      'X-Redmine-Api-Key' => configuration.api_token
    }
  )
  rest_client = AcceptJson.new(HttpCaching.new(rest_client, cache))
  Cli.new(
    redmine_client: Client.new(rest_client: rest_client)
  ).call(args)
end

.configurationObject



18
19
20
# File 'lib/redmine.rb', line 18

def configuration
  @configuration ||= Configuration.autoload
end

.configure {|@configuration| ... } ⇒ Object

Yields:



22
23
24
25
26
# File 'lib/redmine.rb', line 22

def configure
  @configuration = Configuration.autoload
  yield @configuration
  @configuration.freeze
end