del 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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