Class: Creategem::Repository

Inherits:
Object
  • Object
show all
Defined in:
lib/creategem/repository.rb

Constant Summary collapse

REPOSITORIES =
{ github: "github.com", bitbucket: "bitbucket.org" }

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Repository

Returns a new instance of Repository.



10
11
12
13
14
15
16
17
# File 'lib/creategem/repository.rb', line 10

def initialize(options)
  @vendor = options[:vendor]
  @name = options[:name]
  @user = options[:user]
  @user_name = ::Git.global_config "user.name"
  @user_email = ::Git.global_config "user.email"
  @gem_server_url = options[:gem_server_url]
end

Instance Attribute Details

#gem_server_urlObject (readonly)

Returns the value of attribute gem_server_url.



8
9
10
# File 'lib/creategem/repository.rb', line 8

def gem_server_url
  @gem_server_url
end

#nameObject (readonly)

Returns the value of attribute name.



8
9
10
# File 'lib/creategem/repository.rb', line 8

def name
  @name
end

#userObject (readonly)

Returns the value of attribute user.



8
9
10
# File 'lib/creategem/repository.rb', line 8

def user
  @user
end

#user_emailObject (readonly)

Returns the value of attribute user_email.



8
9
10
# File 'lib/creategem/repository.rb', line 8

def user_email
  @user_email
end

#user_nameObject (readonly)

Returns the value of attribute user_name.



8
9
10
# File 'lib/creategem/repository.rb', line 8

def user_name
  @user_name
end

#vendorObject (readonly)

Returns the value of attribute vendor.



8
9
10
# File 'lib/creategem/repository.rb', line 8

def vendor
  @vendor
end

Instance Method Details

#bitbucket?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/creategem/repository.rb', line 23

def bitbucket?
  vendor == :bitbucket
end

#github?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/creategem/repository.rb', line 19

def github?
  vendor == :github
end

#originObject



40
41
42
# File 'lib/creategem/repository.rb', line 40

def origin
  "git@#{REPOSITORIES[vendor]}:#{user}/#{name}.git"
end

#private?Boolean

this could change later. For now all private repositories are on bitbucket and all private ones on github

Returns:

  • (Boolean)


28
29
30
# File 'lib/creategem/repository.rb', line 28

def private?
  bitbucket?
end

#public?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/creategem/repository.rb', line 32

def public?
  !private?
end

#urlObject



36
37
38
# File 'lib/creategem/repository.rb', line 36

def url
  "https://#{REPOSITORIES[vendor]}/#{user}/#{name}"
end