Class: Lita::Handlers::GithubWebHooksStorer

Inherits:
Handler
  • Object
show all
Defined in:
lib/lita/handlers/github_web_hooks_storer.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.nameObject

Overrides the handler config key, from plugin to github_web_hooks.



21
22
23
# File 'lib/lita/handlers/github_web_hooks_storer.rb', line 21

def self.name
  "GithubWebHooksStorer"
end

Instance Method Details

#filename(payload) ⇒ Object



46
47
48
# File 'lib/lita/handlers/github_web_hooks_storer.rb', line 46

def filename(payload)
  "#{Time.now.to_i}-#{payload[:event_type]}.json"
end

#loggerObject



31
32
33
# File 'lib/lita/handlers/github_web_hooks_storer.rb', line 31

def logger
  Lita.logger
end

#path(payload) ⇒ Object



42
43
44
# File 'lib/lita/handlers/github_web_hooks_storer.rb', line 42

def path(payload)
  File.join(config.directory, filename(payload))
end

#store(payload) ⇒ Object



35
36
37
38
39
40
# File 'lib/lita/handlers/github_web_hooks_storer.rb', line 35

def store(payload)
  path = path(payload)
  logger.debug("Payload received: storing in #{path}")
  FileUtils.mkdir_p config.directory
  File.open(path, 'w') { |file| file.write(JSON.generate(payload)) }
end