Skip to content

Instantly share code, notes, and snippets.

@jdennes
Created October 24, 2012 15:09

Revisions

  1. jdennes revised this gist Oct 24, 2012. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions history.rb
    Original file line number Diff line number Diff line change
    @@ -14,7 +14,8 @@
    output = "# #{File.basename(repo_dir)} history\n\n"

    repo = Grit::Repo.new(repo_dir)
    tags = repo.tags.reverse
    tags = repo.tags
    tags.sort! {|x,y| y.commit.authored_date <=> x.commit.authored_date}

    tagcount = 0
    tags.each do |tag|
    @@ -31,4 +32,4 @@
    tagcount += 1
    end

    File.open(output_file, 'w') { |f| f.write(output) }
    File.open(output_file, 'w') { |f| f.write(output) }
  2. jdennes renamed this gist Oct 24, 2012. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  3. jdennes created this gist Oct 24, 2012.
    114 changes: 114 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,114 @@
    # createsend-ruby history

    ## v2.3.0 - 10 Oct, 2012 (6639c1f6)

    * Added support for creating campaigns from templates.
    * Updated shoulda dependency.
    * Added support for unsuppressing an email address.
    * Adding custom field data to expected output from getting active subscribers. This clearly documents the data structure to be expected for multi option multi select fields.
    * Removed Alt field from Singleline elements in test (singleline tags don't support alt text).
    * Version 2.3.0
    * Removed Alt field from Singleline elements in test (singleline tags don't support alt text).

    ## v2.2.0 - 17 Sep, 2012 (17409634)

    * Expect WorldviewURL field in campaign summary response. Expect Latitude, Longitude, City, Region, CountryCode, and CountryName fields in campaign opens and clicks response.
    * Added 'Contributing' section to README.
    * Fixed 'Contributing' heading level.
    * Merge branch 'updates-sep2012'
    * Version 2.2.0
    * Fix set monthly billing tests so that request structure is checked independent of the order of the contents (tests were failing on ree).

    ## v2.1.0 - 30 Aug, 2012 (ee936259)

    * Problem installing httparty using ruby-head on travis.
    * Run cane on build to check code quality thresholds.
    * Don't run cane when ci uses 1.8.7.
    * CM-12569 - Change API wrappers to support basic / unlimited pricing
    * Ruby version done.
    * Merge remote-tracking branch 'origin/master'
    * Merge branch 'master' of github.com:campaignmonitor/createsend-ruby

    Conflicts:
    lib/createsend/client.rb
    test/client_test.rb
    * Increment version number to v2.1.0.
    * CM-12569 - Change API wrappers to support basic / unlimited pricing
    * Fix to meet CI style requirements.

    ## v2.0.0 - 22 Aug, 2012 (8a5ab6b4)

    * Added support for UnsubscribeSetting field when creating, updating and getting list details. Also support AddUnsubscribesToSuppList and ScrubActiveWithSuppList fields when updating a list.
    * License update.
    * Updating shoulda dependency.
    * Added CreateSend::Client#lists_for_email to allow consumers to find all client lists to which a subscriber with a specific email address belongs.
    * Removed deprecated warnings and disallowed calls to be made in a deprecated manner. This is a breaking change which will cause a major version bump when merged into master.
    * Merge branch 'updates-aug2012'
    * Style fixes after running code through cane (https://github.com/square/cane).
    * Incrementing major version to 2.0.0.

    ## v1.1.1 - 24 Jul, 2012 (72934e66)

    * Added RestartSubscriptionBasedAutoresponders to the wrapper
    * Version bump 1.1.1

    ## v1.1.0 - 11 Jul, 2012 (93e856b6)

    * implement person/administrator/primary contact api methods
    * bump ruby wrapper version
    * M-11470 wrapper now warns against pre-MU usage pattern
    * properly bump the version for the ruby wrapper
    * Updating ruby wrapper with improvements for Team Management
    * Fixing tests broken by recent committers. Closes #17.

    ## v1.0.4 - 4 May, 2012 (9bce25c1)

    * Added Travis CI support.
    * Also run tests against jruby, rbx, ree, and ruby-head on Travis CI.
    * Problems running on jruby and rubinius. Leave those versions out for now.
    * Added Gemnasium status image.
    * Link to CM API docs.
    * Use shoulda 3.
    * shoulda 3.0.0 seems to have an invalid gemspec.
    * Really use shoulda 3.0.0 (had a rubygems problem locally).
    * Leave Hash alone. Don't include Hashie::HashExtensions in Hash. Tests pass.
    * Bump shoulda to 3.0.1 - no 3.0.0 exists on Rubygems.
    * Merge pull request #15 from pfeiffer/shoulda_3_0_1

    Bump shoulda to 3.0.1 - no 3.0.0 exists on Rubygems.
    * Merge pull request #14 from pfeiffer/fix_hash

    Leave Hash alone. Don't include Hashie::HashExtensions in Hash.
    * Bump to version 1.0.4.

    ## v1.0.3 - 3 Dec, 2011 (1ed2b56a)

    * Fixed issues running rake tasks using ruby 1.9.2.
    * User-Agent header now includes correct module VERSION. Test added for this too. Fixes #11.
    * Version 1.0.3. Fix for running on Ruby 1.9.2 and fix to User-Agent header.

    ## v1.0.2 - 31 Oct, 2011 (83020409)

    * Updates:
    - Added subscriber delete method.
    - Updated subscriber update and import methods to allow custom fields to define a boolean 'clear' member.
    - Updated subscriber import method to accept a boolean queue_subscription_based_autoresponders argument.
    - Added list deleted method to retrieve deleted subscribers.
    - Modified campaign summary method to include more social sharing stats
    - Added campaign unschedule method.
    * Fixes after alpha-testing.
    * Fixed subscriber delete test.
    * Sans sudo thanks.
    * Slight changes to campaign summary data structure.
    * Merge branch 'update20111005'
    * Version 1.0.2.

    ## v1.0.1 - 25 Oct, 2011 (347b2b95)

    * Ensure @@api_key is initialised to nil if it's not set by calling CreateSend::CreateSend.api_key (for instance, when a user wants to retrieve their API key using CreateSend::CreateSend#apikey).
    * Remove CreateSendOptions and don't read config.yaml file.
    * Version 1.0.1.

    ## v1.0.0 - 26 Sep, 2011 (0a078b09)

    * Initial release.
    34 changes: 34 additions & 0 deletions history.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,34 @@
    # Generates a HISTORY.md file for your repo based on tags and commits
    # Requires: gem install grit
    # Usage: ruby history.rb /your/repo/directory

    require 'grit'

    if ARGV.size < 1
    p "Usage: ruby history.rb /your/repo/directory"
    exit
    end

    output_file = 'HISTORY.md'
    repo_dir = ARGV[0]
    output = "# #{File.basename(repo_dir)} history\n\n"

    repo = Grit::Repo.new(repo_dir)
    tags = repo.tags.reverse

    tagcount = 0
    tags.each do |tag|
    output << "## #{tag.name} - #{tag.commit.authored_date.strftime("%-d %b, %Y")}\
    (#{tag.commit.sha[0,8]})\n\n"
    if (tagcount != tags.size - 1)
    repo.commits_between(tags[tagcount + 1].name, tag.name).each do |c|
    output << "* #{c.message}\n"
    end
    else
    output << "* Initial release.\n"
    end
    output << "\n"
    tagcount += 1
    end

    File.open(output_file, 'w') { |f| f.write(output) }