hominid 2.1.1 → 2.1.2
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.
- data/VERSION +1 -1
- data/hominid.gemspec +2 -2
- data/lib/hominid/helper.rb +1 -1
- data/lib/hominid/list.rb +84 -19
- metadata +2 -2
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            2.1. | 
| 1 | 
            +
            2.1.2
         | 
    
        data/hominid.gemspec
    CHANGED
    
    | @@ -5,11 +5,11 @@ | |
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 7 | 
             
              s.name = %q{hominid}
         | 
| 8 | 
            -
              s.version = "2.1. | 
| 8 | 
            +
              s.version = "2.1.2"
         | 
| 9 9 |  | 
| 10 10 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 11 | 
             
              s.authors = ["Brian Getting", "Michael Str\303\274der"]
         | 
| 12 | 
            -
              s.date = %q{2010- | 
| 12 | 
            +
              s.date = %q{2010-06-11}
         | 
| 13 13 | 
             
              s.description = %q{Hominid is a Ruby gem that provides a wrapper for interacting with the Mailchimp email marketing service API.}
         | 
| 14 14 | 
             
              s.email = %q{brian@terra-firma-design.com}
         | 
| 15 15 | 
             
              s.extra_rdoc_files = [
         | 
    
        data/lib/hominid/helper.rb
    CHANGED
    
    
    
        data/lib/hominid/list.rb
    CHANGED
    
    | @@ -41,11 +41,11 @@ module Hominid | |
| 41 41 | 
             
                # Get all email addresses that complained about a given list.
         | 
| 42 42 | 
             
                #
         | 
| 43 43 | 
             
                # Parameters:
         | 
| 44 | 
            -
                # * list_id (String) | 
| 45 | 
            -
                # * list_id (String) | 
| 46 | 
            -
                # * start | 
| 47 | 
            -
                # * limit | 
| 48 | 
            -
                # * since | 
| 44 | 
            +
                # * list_id (String)   = The mailing list ID value.
         | 
| 45 | 
            +
                # * list_id (String)   = The mailing list ID value.
         | 
| 46 | 
            +
                # * start   (Integer)  = Page number to start at. Defaults to 0.
         | 
| 47 | 
            +
                # * limit   (Integer)  = Number of results to return. Defaults to 500. Upper limit is 1000.
         | 
| 48 | 
            +
                # * since   (DateTime) = Only return email reports since this date. Must be in YYYY-MM-DD HH:II:SS format (GMT).
         | 
| 49 49 | 
             
                #
         | 
| 50 50 | 
             
                # Returns:
         | 
| 51 51 | 
             
                # An array of abuse reports for this list including:
         | 
| @@ -62,8 +62,8 @@ module Hominid | |
| 62 62 | 
             
                # enabled, adding the first group will automatically turn them on.
         | 
| 63 63 | 
             
                #
         | 
| 64 64 | 
             
                # Parameters:
         | 
| 65 | 
            -
                # * list_id (String) | 
| 66 | 
            -
                # * group | 
| 65 | 
            +
                # * list_id (String) = The mailing list ID value.
         | 
| 66 | 
            +
                # * group   (String) = The interest group to add.
         | 
| 67 67 | 
             
                #
         | 
| 68 68 | 
             
                # Returns:
         | 
| 69 69 | 
             
                # True if successful, error code if not.
         | 
| @@ -73,10 +73,27 @@ module Hominid | |
| 73 73 | 
             
                end
         | 
| 74 74 | 
             
                alias :interest_group_add :create_group
         | 
| 75 75 |  | 
| 76 | 
            +
                # Add a new Interest Grouping - if interest groups for the List are not yet
         | 
| 77 | 
            +
                # enabled, adding the first grouping will automatically turn them on.
         | 
| 78 | 
            +
                #
         | 
| 79 | 
            +
                # Parameters:
         | 
| 80 | 
            +
                # * list_id (String) = The mailing list ID value.
         | 
| 81 | 
            +
                # * name    (String) = The interest grouping to add - grouping names must be unique
         | 
| 82 | 
            +
                # * type    (String) = The type of the grouping to add - one of "checkboxes", "hidden", "dropdown", "radio"
         | 
| 83 | 
            +
                # * groups  (Array)  = The lists of initial group names to be added - at least 1 is required and the names must be unique within a grouping. If the number takes you over the 60 group limit, an error will be thrown.
         | 
| 84 | 
            +
                #
         | 
| 85 | 
            +
                # Returns:
         | 
| 86 | 
            +
                # The new grouping id if the request succeeds, otherwise an error will be thrown.
         | 
| 87 | 
            +
                #
         | 
| 88 | 
            +
                def create_grouping(list_id, name, type, groups)
         | 
| 89 | 
            +
                  call("listInterestGroupingAdd", list_id, name, type, groups)
         | 
| 90 | 
            +
                end
         | 
| 91 | 
            +
                alias :interest_grouping_add :create_grouping
         | 
| 92 | 
            +
                
         | 
| 76 93 | 
             
                # Add a new merge tag to a given list
         | 
| 77 94 | 
             
                #
         | 
| 78 95 | 
             
                # Parameters:
         | 
| 79 | 
            -
                # * list_id | 
| 96 | 
            +
                # * list_id   (String)  = The mailing list ID value.
         | 
| 80 97 | 
             
                # * tag       (String)  = The merge tag to add. Ex: FNAME
         | 
| 81 98 | 
             
                # * name      (String)  = The long description of the tag being added, used for user displays.
         | 
| 82 99 | 
             
                # * required  (Boolean) = TODO: set this up to accept the options available.
         | 
| @@ -129,6 +146,20 @@ module Hominid | |
| 129 146 | 
             
                  call("listInterestGroupDel", list_id, group)
         | 
| 130 147 | 
             
                end
         | 
| 131 148 | 
             
                alias :interest_group_del :delete_group
         | 
| 149 | 
            +
                
         | 
| 150 | 
            +
                # Delete an existing Interest Grouping - this will permanently delete
         | 
| 151 | 
            +
                # all contained interest groups and will remove those selections from all list members.
         | 
| 152 | 
            +
                #
         | 
| 153 | 
            +
                # Parameters:
         | 
| 154 | 
            +
                # * grouping_id (String) = The interest grouping id.
         | 
| 155 | 
            +
                #
         | 
| 156 | 
            +
                # Returns:
         | 
| 157 | 
            +
                # True if the request succeeds, otherwise an error will be thrown.
         | 
| 158 | 
            +
                #
         | 
| 159 | 
            +
                def delete_grouping(grouping_id)
         | 
| 160 | 
            +
                  call("listInterestGroupingDel", grouping_id)
         | 
| 161 | 
            +
                end
         | 
| 162 | 
            +
                alias :interest_grouping_del :delete_grouping
         | 
| 132 163 |  | 
| 133 164 | 
             
                # Delete a merge tag from a given list and all its members.
         | 
| 134 165 | 
             
                # Seriously - the data is removed from all members as well!
         | 
| @@ -178,6 +209,24 @@ module Hominid | |
| 178 209 | 
             
                end
         | 
| 179 210 | 
             
                alias :interest_groups :groups
         | 
| 180 211 |  | 
| 212 | 
            +
                # Get the list of interest groupings for a given list, including
         | 
| 213 | 
            +
                # the label, form information, and included groups for each.
         | 
| 214 | 
            +
                #
         | 
| 215 | 
            +
                # Parameters:
         | 
| 216 | 
            +
                # * list_id (String) = The list id to connect to.
         | 
| 217 | 
            +
                #
         | 
| 218 | 
            +
                # Returns:
         | 
| 219 | 
            +
                # A struct of interest groupings for the list:
         | 
| 220 | 
            +
                # * id         (String) = The id for the Grouping
         | 
| 221 | 
            +
                # * name       (String) = Name for the Interest groups
         | 
| 222 | 
            +
                # * form_field (String) = Gives the type of interest group: checkbox,radio,select
         | 
| 223 | 
            +
                # * groups     (Array)  = Array of the grouping options including the "bit" value, "name", "display_order", and number of "subscribers" with the option selected.
         | 
| 224 | 
            +
                #
         | 
| 225 | 
            +
                def groupings(list_id)
         | 
| 226 | 
            +
                  call("listInterestGroupings", list_id)
         | 
| 227 | 
            +
                end
         | 
| 228 | 
            +
                alias :interest_groupings :groupings
         | 
| 229 | 
            +
                
         | 
| 181 230 | 
             
                # Access the Growth History by Month for a given list.
         | 
| 182 231 | 
             
                #
         | 
| 183 232 | 
             
                # Parameters:
         | 
| @@ -203,16 +252,18 @@ module Hominid | |
| 203 252 | 
             
                #
         | 
| 204 253 | 
             
                # Returns:
         | 
| 205 254 | 
             
                # An array of list member info with the following fields:
         | 
| 206 | 
            -
                # * id | 
| 207 | 
            -
                # * email | 
| 208 | 
            -
                # * email_type | 
| 209 | 
            -
                # * merges | 
| 210 | 
            -
                # * status | 
| 211 | 
            -
                # * ip_opt | 
| 212 | 
            -
                # * ip_signup | 
| 213 | 
            -
                # * campaign_id | 
| 214 | 
            -
                # *  | 
| 215 | 
            -
                # * timestamp | 
| 255 | 
            +
                # * id            (String)  = The unique id for this email address on an account.
         | 
| 256 | 
            +
                # * email         (String)  = The email address associated with this record.
         | 
| 257 | 
            +
                # * email_type    (String)  = The type of emails this customer asked to get: html, text, or mobile.
         | 
| 258 | 
            +
                # * merges        (Array)   = An associative array of all the merge tags and the data for those tags for this email address. Note: Interest Groups are returned as comma delimited strings - if a group name contains a comma, it will be escaped with a backslash. ie, "," => "\,"
         | 
| 259 | 
            +
                # * status        (String)  = The subscription status for this email address, either subscribed, unsubscribed or cleaned.
         | 
| 260 | 
            +
                # * ip_opt        (String)  = IP Address this address opted in from.
         | 
| 261 | 
            +
                # * ip_signup     (String)  = IP Address this address signed up from.
         | 
| 262 | 
            +
                # * campaign_id   (String)  = If the user is unsubscribed and they unsubscribed from a specific campaign, that campaign_id will be listed, otherwise this is not returned.
         | 
| 263 | 
            +
                # * lists         (Array)   = An associative array of the other lists this member belongs to - the key is the list id and the value is their status in that list.
         | 
| 264 | 
            +
                # * timestamp     (Date)    = The time this email address was added to the list
         | 
| 265 | 
            +
                # * info_changed  (Date)    = The last time this record was changed. If the record is old enough, this may be blank.
         | 
| 266 | 
            +
                # * web_id        (Integer) = The Member id used in our web app, allows you to create a link directly to it.
         | 
| 216 267 | 
             
                #
         | 
| 217 268 | 
             
                def member_info(list_id, email)
         | 
| 218 269 | 
             
                  call("listMemberInfo", list_id, email)
         | 
| @@ -334,7 +385,7 @@ module Hominid | |
| 334 385 | 
             
                #
         | 
| 335 386 | 
             
                # Parameters:
         | 
| 336 387 | 
             
                # * list_id (String)  = The mailing list ID value.
         | 
| 337 | 
            -
                # * emails  (Array)   = An array of  | 
| 388 | 
            +
                # * emails  (Array)   = An array of subscriber hashes with EMAIL and EMAIL_TYPE as keys.
         | 
| 338 389 | 
             
                # * options (Hash)    = A hash of unsubscribe options including:
         | 
| 339 390 | 
             
                #   * :delete_member (defaults to true)
         | 
| 340 391 | 
             
                #   * :send_goodbye (defaults to false)
         | 
| @@ -362,6 +413,20 @@ module Hominid | |
| 362 413 | 
             
                  call("listInterestGroupUpdate", list_id, old_name, new_name)
         | 
| 363 414 | 
             
                end
         | 
| 364 415 |  | 
| 416 | 
            +
                # Update an existing Interest Grouping.
         | 
| 417 | 
            +
                #
         | 
| 418 | 
            +
                # Parameters:
         | 
| 419 | 
            +
                # * grouping_id (String) = The interest grouping ID.
         | 
| 420 | 
            +
                # * name        (String) = The name of the field to update - either "name" or "type".
         | 
| 421 | 
            +
                # * value       (String) = The new value of the field.
         | 
| 422 | 
            +
                #
         | 
| 423 | 
            +
                # Returns:
         | 
| 424 | 
            +
                # True if successful, error code if not.
         | 
| 425 | 
            +
                #
         | 
| 426 | 
            +
                def update_grouping(grouping_id, name, value)
         | 
| 427 | 
            +
                  call("listInterestGroupingUpdate", grouping_id, name, value)
         | 
| 428 | 
            +
                end
         | 
| 429 | 
            +
                
         | 
| 365 430 | 
             
                # Edit the email address, merge fields, and interest groups for a list member.
         | 
| 366 431 | 
             
                #
         | 
| 367 432 | 
             
                # Parameters:
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: hominid
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 2.1. | 
| 4 | 
            +
              version: 2.1.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Brian Getting
         | 
| @@ -10,7 +10,7 @@ autorequire: | |
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 12 |  | 
| 13 | 
            -
            date: 2010- | 
| 13 | 
            +
            date: 2010-06-11 00:00:00 -07:00
         | 
| 14 14 | 
             
            default_executable: 
         | 
| 15 15 | 
             
            dependencies: []
         | 
| 16 16 |  |