del 0.1.10 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e67e31d143d4f281e3a84bc7b448a4e2ed054a7adb27980707c815bd2d78ef06
4
- data.tar.gz: 61cb7af3141e43aca19d2d34b7c5b972b2ded2ff7938f055b88d3caec3d2160d
3
+ metadata.gz: a77cac965aab73b5f4ffa5a8d716c667a54520b53fe0e289fe83bbd1314c0aac
4
+ data.tar.gz: e26595b3fdead4f34a45d8013a03b966af71473f04129ad7d6ba916787cc7b8e
5
5
  SHA512:
6
- metadata.gz: d6783eea8a35d332c8ab91651752c6daec1e30dc812ff426e2fd495f090a355235b069082806a63a24270e8a8c571676e5e99954f60270d9728d042d7f5864df
7
- data.tar.gz: 16d26e8a33abfb87806b81478dde5056f0b1f1f443b467562226d3b1e8b661188f883ac1fd23b0d69dc3e73bb1d417f6567f20de90582f9b3af39e3ed4c0c007
6
+ metadata.gz: 54817e96d1273968f2c843e2312210600937709f1e91e37aab4ed6084c7e3abe1b2b6f5ac6f5e1b15a58badeb676d893efd4e78ae07eee7a772cc5b8a9b60955
7
+ data.tar.gz: dc0df766410fee11000c9ea24c7bcddc2048b2078ff0a5fda5a6e6aa647ef4bf7851ec012cb5d4b7aca0f2698883a3d821aa2bd9a99e67deacad750da43c743c
data/bin/console CHANGED
@@ -11,8 +11,8 @@ require "del"
11
11
  # Pry.start
12
12
 
13
13
  require "irb"
14
- Del.start(
15
- dotenv_file: Pathname.new(Dir.home).join(".delrc"),
16
- start_server: false,
17
- )
14
+
15
+ settings = YAML.load(IO.read(Pathname.new(Dir.home).join(".delrc")))
16
+ settings.merge!(start_server: false)
17
+ Del.start(settings)
18
18
  IRB.start(__FILE__)
data/del.gemspec CHANGED
@@ -21,7 +21,6 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_dependency "dotenv", "~> 2.4"
25
24
  spec.add_dependency "xmpp4r", "~> 0.5"
26
25
  spec.add_dependency "thor", "~> 0.20"
27
26
  spec.add_development_dependency "bundler", "~> 1.16"
data/lib/del.rb CHANGED
@@ -1,4 +1,3 @@
1
- require "dotenv"
2
1
  require "json"
3
2
  require "logger"
4
3
  require "socket"
@@ -6,6 +5,7 @@ require "xmpp4r"
6
5
  require "xmpp4r/muc/helper/mucbrowser"
7
6
  require "xmpp4r/muc/helper/simplemucclient"
8
7
  require "xmpp4r/roster/helper/roster"
8
+ require "yaml"
9
9
 
10
10
  require "del/configuration"
11
11
  require "del/connection"
@@ -20,18 +20,14 @@ require "del/user"
20
20
  require "del/version"
21
21
 
22
22
  module Del
23
- def self.start(dotenv_file:, startup_file: nil, start_server: true, socket_file: nil)
24
- puts "Loading... #{dotenv_file}"
25
- Dotenv.load(dotenv_file.to_s)
26
- Del.configure do |config|
27
- config.socket_file = socket_file if socket_file
28
- config.router.register(/.*/) do |message|
29
- logger.debug(message.to_s)
30
- end
31
- config.load(startup_file)
23
+ def self.start(settings)
24
+ @configuration = Configuration.new(settings)
25
+ @configuration.router.register(/.*/) do |message|
26
+ logger.debug(message.to_s)
32
27
  end
33
- del = Robot.new(configuration: configuration)
34
- del.get_funky!(start_server: start_server)
28
+ @configuration.load(settings[:startup_file])
29
+ del = Robot.new(configuration: @configuration)
30
+ del.get_funky!(start_server: settings[:start_server])
35
31
  end
36
32
 
37
33
  def self.configure
@@ -39,7 +35,7 @@ module Del
39
35
  end
40
36
 
41
37
  def self.configuration
42
- @configuration ||= Configuration.new
38
+ @configuration ||= Configuration.new({})
43
39
  end
44
40
 
45
41
  def self.logger
data/lib/del/cli.rb CHANGED
@@ -5,16 +5,22 @@ require "thor"
5
5
  module Del
6
6
  class CLI < Thor
7
7
  DEFAULT_RC=Pathname.new(Dir.home).join(".delrc")
8
- class_option :dotenv_file, default: ENV.fetch("DELRC", DEFAULT_RC)
8
+ class_option :configuration_file, default: ENV.fetch("DELRC", DEFAULT_RC)
9
9
  class_option :socket_file, default: Del::Configuration::SOCKET_FILE
10
+ class_option :log_level, default: Logger::INFO
10
11
 
11
12
  desc "server <routes.rb>", "start server"
12
13
  def server(startup_file = nil)
13
- Del.start(
14
- dotenv_file: options[:dotenv_file],
15
- socket_file: options[:socket_file],
16
- startup_file: startup_file,
17
- )
14
+ settings = YAML.load(IO.read(options[:configuration_file]))
15
+ settings.merge!(log_level: options[:log_level])
16
+ settings.merge!(socket_file: options[:socket_file])
17
+ settings.merge!(start_server: true)
18
+ settings.merge!(startup_file: startup_file)
19
+
20
+ Del.start(settings)
21
+ rescue Errno::ENOENT => error
22
+ say error.message, :red
23
+ say "run 'del setup'", :yellow
18
24
  end
19
25
 
20
26
  desc "message <jid> <message>", "send a message to the Jabber ID"
@@ -31,6 +37,23 @@ module Del
31
37
  socket&.close
32
38
  end
33
39
 
40
+ desc "setup", "setup your $HOME/.delrc"
41
+ def setup
42
+ settings = {
43
+ host: ask("Where is your xmpp server? (E.g. 'chat.hipchat.com')"),
44
+ jid: ask("What is your jabber Id?"),
45
+ muc_domain: ask("What is your MUC domain? (E.g. 'conf.hipchat.com')"),
46
+ full_name: ask("What is your name?"),
47
+ password: ask("What is your password?", echo: false),
48
+ }
49
+
50
+ say ""
51
+ say "Writing your configuration to: #{options[:configuration_file]}", :green
52
+ yaml = YAML.dump(settings)
53
+ IO.write(options[:configuration_file], yaml)
54
+ File.chmod(0600, options[:configuration_file])
55
+ end
56
+
34
57
  desc "version", "Print the version of this gem"
35
58
  def version
36
59
  say Del::VERSION, :green
@@ -14,18 +14,18 @@ module Del
14
14
  attr_accessor :users
15
15
  attr_accessor :socket_file
16
16
 
17
- def initialize
18
- @default_rooms = ENV.fetch("DEL_ROOMS", '').split(',')
19
- @host = ENV.fetch("DEL_HOST", 'chat.hipchat.com')
20
- @jid = ENV.fetch("DEL_JID")
17
+ def initialize(settings = {})
18
+ @default_rooms = settings.fetch(:rooms, [])
19
+ @host = settings.fetch(:host, 'chat.hipchat.com')
20
+ @jid = settings.fetch(:jid)
21
21
  @logger = Logger.new(STDOUT)
22
- @logger.level = ENV.fetch('LOG_LEVEL', Logger::INFO).to_i
23
- @muc_domain = ENV.fetch("DEL_MUC_DOMAIN", "conf.hipchat.com")
24
- @name = ENV.fetch("DEL_FULL_NAME")
25
- @password = ENV.fetch("DEL_PASSWORD")
22
+ @logger.level = settings.fetch(:log_level, Logger::INFO).to_i
23
+ @muc_domain = settings.fetch(:muc_domain, "conf.hipchat.com")
24
+ @name = settings.fetch(:full_name)
25
+ @password = settings.fetch(:password)
26
26
  @rooms = Repository.new
27
27
  @router = DefaultRouter.new
28
- @socket_file = SOCKET_FILE
28
+ @socket_file = settings.fetch(:socket_file, SOCKET_FILE)
29
29
  @users = Repository.new
30
30
  end
31
31
 
data/lib/del/robot.rb CHANGED
@@ -9,7 +9,7 @@ module Del
9
9
  end
10
10
 
11
11
  def get_funky!(start_server: true)
12
- Del.logger.info("It's fire! 🔥")
12
+ Del.logger.info("🔥🔥🔥")
13
13
  xmpp_connection.connect(self)
14
14
  socket_server.run(self) if start_server
15
15
  rescue Interrupt
data/lib/del/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Del
2
- VERSION = "0.1.10"
2
+ VERSION = "0.1.11"
3
3
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: del
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-05-05 00:00:00.000000000 Z
11
+ date: 2018-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: dotenv
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.4'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '2.4'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: xmpp4r
29
15
  requirement: !ruby/object:Gem::Requirement