pori 0.0.3 → 0.0.4
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/README.md +8 -1
- data/bin/pori +1 -1
- data/lib/pori.rb +0 -1
- data/lib/pori/commands.rb +77 -19
- data/lib/pori/version.rb +1 -1
- data/pori.gemspec +2 -1
- metadata +43 -17
- data/lib/pori/runner.rb +0 -18
    
        data/README.md
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            # Pori
         | 
| 2 2 |  | 
| 3 | 
            -
            A command line toos for Bitbucket to create private repository.(only git)
         | 
| 3 | 
            +
            A command line toos for Bitbucket to create, delete private repository.(only git)
         | 
| 4 4 |  | 
| 5 5 | 
             
            ## Installation
         | 
| 6 6 |  | 
| @@ -18,9 +18,16 @@ Or install it yourself as: | |
| 18 18 |  | 
| 19 19 | 
             
            ## Usage
         | 
| 20 20 |  | 
| 21 | 
            +
            ### create repository
         | 
| 22 | 
            +
             | 
| 21 23 | 
             
                $ cd path/to/local-git-directory
         | 
| 22 24 | 
             
                $ pori
         | 
| 23 25 |  | 
| 26 | 
            +
            ### delete repository
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                $ cd path/to/local-git-directory
         | 
| 29 | 
            +
                $ pori delete
         | 
| 30 | 
            +
             | 
| 24 31 | 
             
            ## Requirements
         | 
| 25 32 |  | 
| 26 33 | 
             
             * [Git](http://git-scm.com/)
         | 
    
        data/bin/pori
    CHANGED
    
    
    
        data/lib/pori.rb
    CHANGED
    
    
    
        data/lib/pori/commands.rb
    CHANGED
    
    | @@ -1,46 +1,104 @@ | |
| 1 1 | 
             
            # -*- coding: utf-8 -*-
         | 
| 2 2 |  | 
| 3 3 | 
             
            require 'pit'
         | 
| 4 | 
            +
            require 'httparty'
         | 
| 4 5 |  | 
| 5 6 | 
             
            module Pori
         | 
| 6 7 | 
             
              class Commands
         | 
| 7 | 
            -
                def initialize(args)
         | 
| 8 | 
            -
                  @ | 
| 8 | 
            +
                def initialize(*args)
         | 
| 9 | 
            +
                  @command = args.empty? ? :create : args.shift.to_sym
         | 
| 9 10 |  | 
| 10 | 
            -
                  config = Pit.get("bitbucket", | 
| 11 | 
            -
                     | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
                   | 
| 11 | 
            +
                  config = Pit.get("bitbucket",
         | 
| 12 | 
            +
                    require: {
         | 
| 13 | 
            +
                      "username" => "your account in bitbucket",
         | 
| 14 | 
            +
                      "password" => "your password in bitbucket"
         | 
| 15 | 
            +
                    }
         | 
| 16 | 
            +
                  )
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  @options   = {
         | 
| 19 | 
            +
                    basic_auth: { username: config['username'], password: config['password'] },
         | 
| 20 | 
            +
                    headers:    { "User-Agent" => "Pori #{Pori::VERSION} - https://github.com/glidenote/pori" }
         | 
| 21 | 
            +
                  }
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                  @repo      = repo_name
         | 
| 24 | 
            +
                  @username  = config['username']
         | 
| 16 25 | 
             
                end
         | 
| 17 26 |  | 
| 18 | 
            -
                def self.run(args)
         | 
| 19 | 
            -
                  self.new(args).run
         | 
| 27 | 
            +
                def self.run(*args)
         | 
| 28 | 
            +
                  self.new(*args).run
         | 
| 20 29 | 
             
                end
         | 
| 21 30 |  | 
| 22 31 | 
             
                def run
         | 
| 23 | 
            -
                   | 
| 24 | 
            -
                  self.send('create')
         | 
| 32 | 
            +
                  self.send(@command)
         | 
| 25 33 | 
             
                end
         | 
| 26 34 |  | 
| 27 35 | 
             
                def create
         | 
| 28 | 
            -
                   | 
| 36 | 
            +
                  endpoint = 'https://api.bitbucket.org/1.0/repositories/'
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                  @options.merge!(
         | 
| 39 | 
            +
                    { body:
         | 
| 40 | 
            +
                      { name: @repo, scm: "git", is_private: "true" }
         | 
| 41 | 
            +
                    }
         | 
| 42 | 
            +
                  )
         | 
| 43 | 
            +
                  response = HTTParty.post(endpoint, @options)
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                  if response.code.to_i == 200
         | 
| 46 | 
            +
                    puts "Successfully created."
         | 
| 47 | 
            +
                    puts "git remote add origin ssh://git@bitbucket.org/#{@username}/#{@repo}.git"
         | 
| 48 | 
            +
                    system "git remote add origin ssh://git@bitbucket.org/#{@username}/#{@repo}.git"
         | 
| 49 | 
            +
                  else
         | 
| 50 | 
            +
                    $stdout.puts "Something was wrong... o_O"
         | 
| 51 | 
            +
                    $stdout.puts
         | 
| 52 | 
            +
                    $stdout.puts response
         | 
| 53 | 
            +
                  end
         | 
| 54 | 
            +
                end
         | 
| 29 55 |  | 
| 30 | 
            -
             | 
| 31 | 
            -
                   | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 56 | 
            +
                def delete
         | 
| 57 | 
            +
                  if del_flags
         | 
| 58 | 
            +
                    endpoint = "https://api.bitbucket.org/1.0/repositories/#{@username}/#{@repo}"
         | 
| 59 | 
            +
                    response = HTTParty.delete(endpoint, @options)
         | 
| 60 | 
            +
                    if response.code.to_i == 204
         | 
| 61 | 
            +
                      puts "Successfully deleted."
         | 
| 62 | 
            +
                    else
         | 
| 63 | 
            +
                      $stdout.puts "Something was wrong... o_O"
         | 
| 64 | 
            +
                      $stdout.puts
         | 
| 65 | 
            +
                      $stdout.puts response
         | 
| 66 | 
            +
                    end
         | 
| 67 | 
            +
                  else
         | 
| 68 | 
            +
                    puts "Canceled."
         | 
| 69 | 
            +
                  end
         | 
| 34 70 | 
             
                end
         | 
| 35 71 |  | 
| 36 72 | 
             
                private
         | 
| 37 | 
            -
                def  | 
| 73 | 
            +
                def repo_name
         | 
| 38 74 | 
             
                  raise Exception, "Not a git repository" unless is_git_repo?
         | 
| 39 | 
            -
                   | 
| 75 | 
            +
                  tmp_dir = `git rev-parse -q --git-dir`.chomp
         | 
| 76 | 
            +
                  if tmp_dir == ".git"
         | 
| 77 | 
            +
                    repo_name = File.basename(Dir.pwd)
         | 
| 78 | 
            +
                  else
         | 
| 79 | 
            +
                    repo_dir_name = File.dirname("#{tmp_dir}")     # => /Users/akira/repos/pori/.git
         | 
| 80 | 
            +
                    repo_name = File.basename("#{repo_dir_name}")  # => pori
         | 
| 81 | 
            +
                  end
         | 
| 82 | 
            +
                  repo_name
         | 
| 40 83 | 
             
                end
         | 
| 41 84 |  | 
| 42 85 | 
             
                def is_git_repo?
         | 
| 43 86 | 
             
                  system('git rev-parse --git-dir >/dev/null 2>&1;')
         | 
| 44 87 | 
             
                end
         | 
| 88 | 
            +
             | 
| 89 | 
            +
                def del_flags
         | 
| 90 | 
            +
                  confirm = false
         | 
| 91 | 
            +
             | 
| 92 | 
            +
                  print "Please type in the name of the repository to confirm [(#{@repo})] :"
         | 
| 93 | 
            +
                  del_repo = STDIN.gets.chomp
         | 
| 94 | 
            +
             | 
| 95 | 
            +
                  if del_repo == @repo
         | 
| 96 | 
            +
                    print "Really delete repository? [y/N] :"
         | 
| 97 | 
            +
                    yes_or_no = STDIN.gets.chomp
         | 
| 98 | 
            +
                    if yes_or_no =~ /yes|y/i
         | 
| 99 | 
            +
                      confirm = true
         | 
| 100 | 
            +
                    end
         | 
| 101 | 
            +
                  end
         | 
| 102 | 
            +
                end
         | 
| 45 103 | 
             
              end
         | 
| 46 104 | 
             
            end
         | 
    
        data/lib/pori/version.rb
    CHANGED
    
    
    
        data/pori.gemspec
    CHANGED
    
    | @@ -4,7 +4,7 @@ require File.expand_path('../lib/pori/version', __FILE__) | |
| 4 4 | 
             
            Gem::Specification.new do |gem|
         | 
| 5 5 | 
             
              gem.authors        = ["Akira Maeda"]
         | 
| 6 6 | 
             
              gem.email          = ["glidenote@gmail.com"]
         | 
| 7 | 
            -
              gem.summary        = %q{A command line tool for Bitbucket to create private repositories.(only git)}
         | 
| 7 | 
            +
              gem.summary        = %q{A command line tool for Bitbucket to create, delete private repositories.(only git)}
         | 
| 8 8 | 
             
              gem.homepage       = "http://github.com/glidenote/pori/"
         | 
| 9 9 |  | 
| 10 10 | 
             
              gem.files          = `git ls-files`.split($\)
         | 
| @@ -16,5 +16,6 @@ Gem::Specification.new do |gem| | |
| 16 16 |  | 
| 17 17 | 
             
              gem.add_dependency 'pit'
         | 
| 18 18 | 
             
              gem.add_dependency 'rake'
         | 
| 19 | 
            +
              gem.add_dependency 'httparty'
         | 
| 19 20 | 
             
              gem.add_development_dependency 'rspec'
         | 
| 20 21 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: pori
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.4
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,11 +9,11 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012- | 
| 12 | 
            +
            date: 2012-07-06 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: pit
         | 
| 16 | 
            -
              requirement:  | 
| 16 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ! '>='
         | 
| @@ -21,10 +21,31 @@ dependencies: | |
| 21 21 | 
             
                    version: '0'
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements:  | 
| 24 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 25 | 
            +
                none: false
         | 
| 26 | 
            +
                requirements:
         | 
| 27 | 
            +
                - - ! '>='
         | 
| 28 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            +
                    version: '0'
         | 
| 25 30 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 31 | 
             
              name: rake
         | 
| 27 | 
            -
              requirement:  | 
| 32 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 33 | 
            +
                none: false
         | 
| 34 | 
            +
                requirements:
         | 
| 35 | 
            +
                - - ! '>='
         | 
| 36 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 37 | 
            +
                    version: '0'
         | 
| 38 | 
            +
              type: :runtime
         | 
| 39 | 
            +
              prerelease: false
         | 
| 40 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 41 | 
            +
                none: false
         | 
| 42 | 
            +
                requirements:
         | 
| 43 | 
            +
                - - ! '>='
         | 
| 44 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 45 | 
            +
                    version: '0'
         | 
| 46 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 47 | 
            +
              name: httparty
         | 
| 48 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 28 49 | 
             
                none: false
         | 
| 29 50 | 
             
                requirements:
         | 
| 30 51 | 
             
                - - ! '>='
         | 
| @@ -32,10 +53,15 @@ dependencies: | |
| 32 53 | 
             
                    version: '0'
         | 
| 33 54 | 
             
              type: :runtime
         | 
| 34 55 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements:  | 
| 56 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 57 | 
            +
                none: false
         | 
| 58 | 
            +
                requirements:
         | 
| 59 | 
            +
                - - ! '>='
         | 
| 60 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            +
                    version: '0'
         | 
| 36 62 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 63 | 
             
              name: rspec
         | 
| 38 | 
            -
              requirement:  | 
| 64 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 39 65 | 
             
                none: false
         | 
| 40 66 | 
             
                requirements:
         | 
| 41 67 | 
             
                - - ! '>='
         | 
| @@ -43,7 +69,12 @@ dependencies: | |
| 43 69 | 
             
                    version: '0'
         | 
| 44 70 | 
             
              type: :development
         | 
| 45 71 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements:  | 
| 72 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 73 | 
            +
                none: false
         | 
| 74 | 
            +
                requirements:
         | 
| 75 | 
            +
                - - ! '>='
         | 
| 76 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 77 | 
            +
                    version: '0'
         | 
| 47 78 | 
             
            description: 
         | 
| 48 79 | 
             
            email:
         | 
| 49 80 | 
             
            - glidenote@gmail.com
         | 
| @@ -60,7 +91,6 @@ files: | |
| 60 91 | 
             
            - bin/pori
         | 
| 61 92 | 
             
            - lib/pori.rb
         | 
| 62 93 | 
             
            - lib/pori/commands.rb
         | 
| 63 | 
            -
            - lib/pori/runner.rb
         | 
| 64 94 | 
             
            - lib/pori/version.rb
         | 
| 65 95 | 
             
            - pori.gemspec
         | 
| 66 96 | 
             
            - spec/pori/.gitkeep
         | 
| @@ -78,25 +108,21 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 78 108 | 
             
              - - ! '>='
         | 
| 79 109 | 
             
                - !ruby/object:Gem::Version
         | 
| 80 110 | 
             
                  version: '0'
         | 
| 81 | 
            -
                  segments:
         | 
| 82 | 
            -
                  - 0
         | 
| 83 | 
            -
                  hash: 2418092421942208002
         | 
| 84 111 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 85 112 | 
             
              none: false
         | 
| 86 113 | 
             
              requirements:
         | 
| 87 114 | 
             
              - - ! '>='
         | 
| 88 115 | 
             
                - !ruby/object:Gem::Version
         | 
| 89 116 | 
             
                  version: '0'
         | 
| 90 | 
            -
                  segments:
         | 
| 91 | 
            -
                  - 0
         | 
| 92 | 
            -
                  hash: 2418092421942208002
         | 
| 93 117 | 
             
            requirements: []
         | 
| 94 118 | 
             
            rubyforge_project: 
         | 
| 95 | 
            -
            rubygems_version: 1.8. | 
| 119 | 
            +
            rubygems_version: 1.8.23
         | 
| 96 120 | 
             
            signing_key: 
         | 
| 97 121 | 
             
            specification_version: 3
         | 
| 98 | 
            -
            summary: A command line tool for Bitbucket to create private repositories.(only | 
| 122 | 
            +
            summary: A command line tool for Bitbucket to create, delete private repositories.(only
         | 
| 123 | 
            +
              git)
         | 
| 99 124 | 
             
            test_files:
         | 
| 100 125 | 
             
            - spec/pori/.gitkeep
         | 
| 101 126 | 
             
            - spec/spec.opts
         | 
| 102 127 | 
             
            - spec/spec_helper.rb
         | 
| 128 | 
            +
            has_rdoc: 
         | 
    
        data/lib/pori/runner.rb
    DELETED