upkey-chatterly-client 1.0.1 → 1.1.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/README.md +2 -2
- data/lib/upkey/chatterly/client.rb +16 -0
- data/lib/upkey/chatterly/errors/chatterly_error.rb +9 -0
- data/lib/upkey/chatterly/urls/accessor.rb +30 -0
- data/lib/upkey/chatterly/urls/builder.rb +32 -0
- data/lib/upkey/chatterly/urls/response.rb +26 -0
- data/lib/upkey/chatterly/version.rb +1 -1
- metadata +6 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 38c3832e8406a454578d0e44b13e63142440ce47
         | 
| 4 | 
            +
              data.tar.gz: 5aae37f1c8e9dc70521f79216aa17c6a7d840138
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 1c6b6334d11ad6bb1edcf89b1515602d7cde0f2caa31de08781737c050dc87417cf9e7ae005640d1ee12e53df1453beba9af30ed419de0079f2da087346462d4
         | 
| 7 | 
            +
              data.tar.gz: 2f4b8361d0db4e11132454b6641eb3e2fc0e0d637da4a37aab6635b265313ab30bae82cbc089c3122ad3943bf6a4e278d4f07ceff0b4c8c2b3f098da00fb266c
         | 
    
        data/README.md
    CHANGED
    
    | @@ -33,10 +33,10 @@ This will create a useable client, saved in `$chatterly`. There are now two inst | |
| 33 33 |  | 
| 34 34 | 
             
            ```ruby
         | 
| 35 35 | 
             
            #Getting the Initial Message
         | 
| 36 | 
            -
            $chatterly.respond(:topic, topic_id)
         | 
| 36 | 
            +
            $chatterly.respond({ key: :topic, id: topic_id })
         | 
| 37 37 |  | 
| 38 38 | 
             
            #Respoding to a User
         | 
| 39 | 
            -
            $chatterly.respond(:response, response_id)
         | 
| 39 | 
            +
            $chatterly.respond({ key: :response, id: response_id })
         | 
| 40 40 | 
             
            ```
         | 
| 41 41 |  | 
| 42 42 | 
             
            Both will respond with an `Upkey::Chatterly::Response` object, with two attributes: `message`, which will return the next message in the conversation (either the initial one for a topic or what the response linked to), and `responses`, which contains an array of options to respond to the given message.
         | 
| @@ -1,8 +1,13 @@ | |
| 1 1 | 
             
            require 'upkey/chatterly/accessor'
         | 
| 2 2 | 
             
            require 'upkey/chatterly/response'
         | 
| 3 3 |  | 
| 4 | 
            +
            require 'upkey/chatterly/urls/accessor'
         | 
| 5 | 
            +
            require 'upkey/chatterly/urls/builder'
         | 
| 6 | 
            +
            require 'upkey/chatterly/urls/response'
         | 
| 7 | 
            +
             | 
| 4 8 | 
             
            require 'upkey/chatterly/alerts/missing_argument'
         | 
| 5 9 | 
             
            require 'upkey/chatterly/errors/chatterly_argument_error'
         | 
| 10 | 
            +
            require 'upkey/chatterly/errors/chatterly_error'
         | 
| 6 11 |  | 
| 7 12 | 
             
            require 'faraday'
         | 
| 8 13 | 
             
            require 'json'
         | 
| @@ -30,6 +35,17 @@ module Upkey | |
| 30 35 | 
             
                    Upkey::Chatterly::Response.new(message, resp)
         | 
| 31 36 | 
             
                  end
         | 
| 32 37 |  | 
| 38 | 
            +
                  def method_missing(*args)
         | 
| 39 | 
            +
                    case args[0]
         | 
| 40 | 
            +
                    when :post_url
         | 
| 41 | 
            +
                      Upkey::Chatterly::Urls::Builder.post_url(args[1], self)
         | 
| 42 | 
            +
                    when :get_url
         | 
| 43 | 
            +
                      Upkey::Chatterly::Urls::Accessor.get_url(args[1], self)
         | 
| 44 | 
            +
                    else
         | 
| 45 | 
            +
                      raise NoMethodError
         | 
| 46 | 
            +
                    end
         | 
| 47 | 
            +
                  end
         | 
| 48 | 
            +
             | 
| 33 49 | 
             
                  private
         | 
| 34 50 |  | 
| 35 51 | 
             
                  def set_up_faraday
         | 
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            module Upkey
         | 
| 2 | 
            +
              module Chatterly
         | 
| 3 | 
            +
                module Urls
         | 
| 4 | 
            +
                  module Accessor
         | 
| 5 | 
            +
                    def self.get_url(url, client)
         | 
| 6 | 
            +
                      @url = url
         | 
| 7 | 
            +
                      @client = client
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                      access_chatterly
         | 
| 10 | 
            +
                    end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                    private
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    class << self
         | 
| 15 | 
            +
                      def access_chatterly
         | 
| 16 | 
            +
                        resp = @client.conn.get '/api/shortened_urls/0', url_params
         | 
| 17 | 
            +
                        Upkey::Chatterly::Urls::Response.new(resp)
         | 
| 18 | 
            +
                      end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                      def url_params
         | 
| 21 | 
            +
                        {
         | 
| 22 | 
            +
                          url: @url,
         | 
| 23 | 
            +
                          access_key: @client.access_key
         | 
| 24 | 
            +
                        }
         | 
| 25 | 
            +
                      end
         | 
| 26 | 
            +
                    end
         | 
| 27 | 
            +
                  end
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
              end
         | 
| 30 | 
            +
            end
         | 
| @@ -0,0 +1,32 @@ | |
| 1 | 
            +
            module Upkey
         | 
| 2 | 
            +
              module Chatterly
         | 
| 3 | 
            +
                module Urls
         | 
| 4 | 
            +
                  module Builder
         | 
| 5 | 
            +
                    def self.post_url(url, client)
         | 
| 6 | 
            +
                      @url = url
         | 
| 7 | 
            +
                      @client = client
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                      access_chatterly
         | 
| 10 | 
            +
                    end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                    private
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    class << self
         | 
| 15 | 
            +
                      def access_chatterly
         | 
| 16 | 
            +
                        resp = @client.conn.post '/api/shortened_urls', url_params
         | 
| 17 | 
            +
                        Upkey::Chatterly::Urls::Response.new(resp)
         | 
| 18 | 
            +
                      end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                      def url_params
         | 
| 21 | 
            +
                        {
         | 
| 22 | 
            +
                          shortened_url: {
         | 
| 23 | 
            +
                            url: @url
         | 
| 24 | 
            +
                          },
         | 
| 25 | 
            +
                          access_key: @client.access_key
         | 
| 26 | 
            +
                        }
         | 
| 27 | 
            +
                      end
         | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
                  end
         | 
| 30 | 
            +
                end
         | 
| 31 | 
            +
              end
         | 
| 32 | 
            +
            end
         | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            module Upkey
         | 
| 2 | 
            +
              module Chatterly
         | 
| 3 | 
            +
                module Urls
         | 
| 4 | 
            +
                  class Response
         | 
| 5 | 
            +
                    attr_reader :contents, :status
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                    def initialize(chatterly_response)
         | 
| 8 | 
            +
                      @status = chatterly_response.status
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                      case status
         | 
| 11 | 
            +
                      when 200
         | 
| 12 | 
            +
                        @contents = JSON.parse(chatterly_response.body)
         | 
| 13 | 
            +
                      when 404
         | 
| 14 | 
            +
                        @contents = { message: 'Requested URL not found.' }
         | 
| 15 | 
            +
                      when 422
         | 
| 16 | 
            +
                        @contents = { message: JSON.parse(chatterly_response.body) }
         | 
| 17 | 
            +
                      when 401
         | 
| 18 | 
            +
                        @contents = { message: 'You are unauthorized to access this. Please check your access credentials and try again.' }
         | 
| 19 | 
            +
                      else
         | 
| 20 | 
            +
                        raise ChatterlyError
         | 
| 21 | 
            +
                      end
         | 
| 22 | 
            +
                    end
         | 
| 23 | 
            +
                  end
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: upkey-chatterly-client
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0 | 
| 4 | 
            +
              version: 1.1.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - ElliottAYoung
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017- | 
| 11 | 
            +
            date: 2017-09-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -102,7 +102,11 @@ files: | |
| 102 102 | 
             
            - lib/upkey/chatterly/alerts/missing_argument.rb
         | 
| 103 103 | 
             
            - lib/upkey/chatterly/client.rb
         | 
| 104 104 | 
             
            - lib/upkey/chatterly/errors/chatterly_argument_error.rb
         | 
| 105 | 
            +
            - lib/upkey/chatterly/errors/chatterly_error.rb
         | 
| 105 106 | 
             
            - lib/upkey/chatterly/response.rb
         | 
| 107 | 
            +
            - lib/upkey/chatterly/urls/accessor.rb
         | 
| 108 | 
            +
            - lib/upkey/chatterly/urls/builder.rb
         | 
| 109 | 
            +
            - lib/upkey/chatterly/urls/response.rb
         | 
| 106 110 | 
             
            - lib/upkey/chatterly/version.rb
         | 
| 107 111 | 
             
            - upkey-chatterly-client.gemspec
         | 
| 108 112 | 
             
            homepage: https://github.com/beupkey/upkey-chatterly-client.git
         |