hoot 0.2.0 → 0.3.0
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 +4 -4
 - data/Gemfile.lock +1 -1
 - data/bin/hoot +15 -1
 - data/lib/hoot.rb +2 -1
 - data/lib/hoot/client.rb +2 -1
 - data/lib/hoot/metadata.rb +73 -0
 - data/lib/hoot/version.rb +1 -1
 - metadata +2 -1
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 748725451b89a09686d011f00ca244cc11aac033
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 2fdc9c6724ccf5195bd30c4e2499817239182c26
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: a9ed73ff84a9025e6c55efe734cbc38d443a508c8b058f8bbfa9a3ec6f622929fe8f5ffdeef555c3a5c99006a6cc17a3065f56e9aca540f9a7c7e7098e9d8724
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: a6ab839c73600d304b8da7974c9bd8bdf3aac212e6cd16e85fe0ea3c6ea94f9c4d0f19de6d0bfa1309401848c1eb392076f7f46767343439d9f6b8ef432d38a2
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/bin/hoot
    CHANGED
    
    | 
         @@ -52,10 +52,24 @@ command :push do |c| 
     | 
|
| 
       52 
52 
     | 
    
         
             
            		end
         
     | 
| 
       53 
53 
     | 
    
         | 
| 
       54 
54 
     | 
    
         
             
            		client.push(options.message)
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
55 
     | 
    
         
             
            	end
         
     | 
| 
       57 
56 
     | 
    
         
             
            end
         
     | 
| 
       58 
57 
     | 
    
         | 
| 
      
 58 
     | 
    
         
            +
            command :set do |c|
         
     | 
| 
      
 59 
     | 
    
         
            +
              c.syntax = 'hoot set [options]'
         
     | 
| 
      
 60 
     | 
    
         
            +
              c.description = 'Set metadata for your notifications, ex. description, sender.'
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
              c.option '-d', '--description String', String, 'Set the device description, e.g. "My Macbook."'
         
     | 
| 
      
 63 
     | 
    
         
            +
              c.option '-s', '--device String', String, 'Sets the sender (for Hoot app icon).  Options: `laptop`, `server` or `desktop`.'
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
              c.example 'set', 'hoot --description "My Macbook Pro" --device server'
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
              c.action do |args, options|
         
     | 
| 
      
 68 
     | 
    
         
            +
                Hoot::Metadata.set(:description, options.description)
         
     | 
| 
      
 69 
     | 
    
         
            +
                Hoot::Metadata.set(:device, options.device)
         
     | 
| 
      
 70 
     | 
    
         
            +
              end
         
     | 
| 
      
 71 
     | 
    
         
            +
            end
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
       59 
73 
     | 
    
         
             
            private
         
     | 
| 
       60 
74 
     | 
    
         | 
| 
       61 
75 
     | 
    
         
             
            def client
         
     | 
    
        data/lib/hoot.rb
    CHANGED
    
    
    
        data/lib/hoot/client.rb
    CHANGED
    
    
| 
         @@ -0,0 +1,73 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'yaml'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Hoot
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Metadata
         
     | 
| 
      
 5 
     | 
    
         
            +
                @path = "#{ENV['HOME']}/.hoot/metadata.yml"
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                public
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                def self.set(key, value)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  return if value.nil?
         
     | 
| 
      
 11 
     | 
    
         
            +
                  return unless keys.include?(key)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  create unless File.exist?(@path)
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  if File.exist?(@path)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    @m = YAML::load_file(@path)
         
     | 
| 
      
 16 
     | 
    
         
            +
                  end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                  if @m.nil? || @m == false
         
     | 
| 
      
 19 
     | 
    
         
            +
                    @m = {}
         
     | 
| 
      
 20 
     | 
    
         
            +
                  end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                  if valid?(key, value)
         
     | 
| 
      
 23 
     | 
    
         
            +
                    # key = key.to_s Still not sure if I want to remove the ':' from the .yml file.
         
     | 
| 
      
 24 
     | 
    
         
            +
                    @m[key] = value
         
     | 
| 
      
 25 
     | 
    
         
            +
                    save
         
     | 
| 
      
 26 
     | 
    
         
            +
                  else
         
     | 
| 
      
 27 
     | 
    
         
            +
                    abort('You are trying to set invalid options.')
         
     | 
| 
      
 28 
     | 
    
         
            +
                  end
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                def self.get
         
     | 
| 
      
 32 
     | 
    
         
            +
                  return YAML::load_file(@path) if File.exist?(@path)
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                def self.save
         
     | 
| 
      
 36 
     | 
    
         
            +
                  if File.write(@path, @m.to_yaml)
         
     | 
| 
      
 37 
     | 
    
         
            +
                    true
         
     | 
| 
      
 38 
     | 
    
         
            +
                  else
         
     | 
| 
      
 39 
     | 
    
         
            +
                    false
         
     | 
| 
      
 40 
     | 
    
         
            +
                  end
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                protected
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                def self.create
         
     | 
| 
      
 46 
     | 
    
         
            +
                  path = "#{ENV['HOME']}/.hoot/"
         
     | 
| 
      
 47 
     | 
    
         
            +
                  Dir.mkdir(path) unless File.exists?(path)
         
     | 
| 
      
 48 
     | 
    
         
            +
                  File.new(@path, 'w')
         
     | 
| 
      
 49 
     | 
    
         
            +
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                def self.valid?(key, value)
         
     | 
| 
      
 52 
     | 
    
         
            +
                  return false unless keys.include?(key)
         
     | 
| 
      
 53 
     | 
    
         
            +
                  return true unless key == :device=
         
     | 
| 
      
 54 
     | 
    
         
            +
                  return false unless values.include?(value.to_sym)
         
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
                def self.keys
         
     | 
| 
      
 58 
     | 
    
         
            +
                  [
         
     | 
| 
      
 59 
     | 
    
         
            +
                    :description,
         
     | 
| 
      
 60 
     | 
    
         
            +
                    :device
         
     | 
| 
      
 61 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 62 
     | 
    
         
            +
                end
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
                def self.values
         
     | 
| 
      
 65 
     | 
    
         
            +
                  [
         
     | 
| 
      
 66 
     | 
    
         
            +
                    :server,
         
     | 
| 
      
 67 
     | 
    
         
            +
                    :laptop,
         
     | 
| 
      
 68 
     | 
    
         
            +
                    :desktop
         
     | 
| 
      
 69 
     | 
    
         
            +
                  ]
         
     | 
| 
      
 70 
     | 
    
         
            +
                end
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
              end
         
     | 
| 
      
 73 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/hoot/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: hoot
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.3.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Rudd Fawcett
         
     | 
| 
         @@ -97,6 +97,7 @@ files: 
     | 
|
| 
       97 
97 
     | 
    
         
             
            - "./lib/hoot.rb"
         
     | 
| 
       98 
98 
     | 
    
         
             
            - "./lib/hoot/client.rb"
         
     | 
| 
       99 
99 
     | 
    
         
             
            - "./lib/hoot/keychain.rb"
         
     | 
| 
      
 100 
     | 
    
         
            +
            - "./lib/hoot/metadata.rb"
         
     | 
| 
       100 
101 
     | 
    
         
             
            - "./lib/hoot/user.rb"
         
     | 
| 
       101 
102 
     | 
    
         
             
            - "./lib/hoot/version.rb"
         
     | 
| 
       102 
103 
     | 
    
         
             
            - bin/hoot
         
     |