Sha256: aa0f936d88d2aeef22383b75b8c0d598d6cdb28996410065b63cd4dd054ac7e9

Contents?: true

Size: 1.3 KB

Versions: 27

Compression:

Stored size: 1.3 KB

Contents

module SocialStream
  module Release
    class << self
      def update(*args)
        # First of all, update gems
        system "bundle"

        parse_args(args)

        all.each(&:bump_version)

        all.each(&:update_dependencies)

        system("git commit #{ all.map(&:commit_files).join(" ") } -m #{ @global.version }") ||
          raise(RuntimeError.new)
      end

      def release
        all.each(&:rake_release)
      end

      def create(*args)
        update *args

        release
      end

      def dependencies
        @dependencies ||=
          Global::Release.new.dependencies
      end

      def parse_args args
        @components = []

        args.each do |a|
          name, version = a.split(":")

          if dependencies.include?(name)
            @components << Component::Release.new(name, version)
          else
            @target = name
          end
        end

        @global = Global::Release.new(@target)
      end

      def all
        components + [ @global ]
      end

      def components
        @components ||= dependencies.map{ |d| Component::Release.new(d) }
      end
    end
  end
end

%w(dependency_update global/release global/version_file component/release component/version_file).each do |file|
  require File.expand_path("../release/#{ file }", __FILE__)
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
social_stream-0.26.0 lib/social_stream/release.rb
social_stream-0.25.2 lib/social_stream/release.rb
social_stream-0.25.1 lib/social_stream/release.rb
social_stream-0.25.0 lib/social_stream/release.rb
social_stream-0.24.1 lib/social_stream/release.rb
social_stream-0.24.0 lib/social_stream/release.rb
social_stream-0.23.4 lib/social_stream/release.rb
social_stream-0.23.3 lib/social_stream/release.rb
social_stream-0.23.2 lib/social_stream/release.rb
social_stream-0.23.1 lib/social_stream/release.rb
social_stream-0.22.1 lib/social_stream/release.rb
social_stream-0.22.0 lib/social_stream/release.rb
social_stream-0.21.4 lib/social_stream/release.rb
social_stream-0.21.3 lib/social_stream/release.rb
social_stream-0.21.2 lib/social_stream/release.rb
social_stream-0.21.1 lib/social_stream/release.rb
social_stream-0.21.0 lib/social_stream/release.rb
social_stream-0.20.2 lib/social_stream/release.rb
social_stream-0.20.1 lib/social_stream/release.rb
social_stream-0.20.0 lib/social_stream/release.rb