Class: RubyGists

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

Constant Summary collapse

GIST_SRC =
'git://gist.github.com'
GIST_DIR =
File.join('tmp', 'gist')

Class Method Summary collapse

Class Method Details

.clearObject



33
34
35
36
# File 'lib/rubygists.rb', line 33

def self.clear
  FileUtils.rm_r GIST_DIR
  init
end

.exists?(gist) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
16
# File 'lib/rubygists.rb', line 13

def self.exists?(gist)
  dir = File.join(GIST_DIR, gist.to_s)
  File.exists?(dir)
end

.get(gist, force = false) ⇒ Object



28
29
30
31
# File 'lib/rubygists.rb', line 28

def self.get(gist, force=false)
  git_clone(gist.to_s, force) if force or !exists?(gist.to_s)
  list(gist) 
end

.git_clone(gist, force = false) ⇒ Object



18
19
20
21
22
# File 'lib/rubygists.rb', line 18

def self.git_clone(gist, force=false)
  dir = File.join(GIST_DIR, gist.to_s)
  FileUtils.rm_r dir if force and File.exists?(dir)
  system "cd #{GIST_DIR} && git clone #{GIST_SRC}/#{gist}.git"
end

.initObject



9
10
11
# File 'lib/rubygists.rb', line 9

def self.init
  FileUtils.mkdir_p GIST_DIR
end

.list(gist, filter = '*.rb') ⇒ Object



24
25
26
# File 'lib/rubygists.rb', line 24

def self.list(gist, filter='*.rb')
  Dir[File.join(GIST_DIR, gist.to_s, filter)]
end