ruby-tapas-downloader 2.0.1 → 2.0.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.
- checksums.yaml +4 -4
- data/lib/ruby-tapas-downloader.rb +1 -0
- data/lib/ruby_tapas_downloader/cli.rb +77 -79
- data/lib/ruby_tapas_downloader/config.rb +0 -1
- data/lib/ruby_tapas_downloader/downloadables/catalog.rb +4 -4
- data/lib/ruby_tapas_downloader/downloadables/episode.rb +4 -5
- data/lib/ruby_tapas_downloader/downloadables/file.rb +5 -5
- data/lib/ruby_tapas_downloader/extractors/catalog.rb +5 -5
- data/lib/ruby_tapas_downloader/extractors/episode.rb +2 -2
- data/lib/ruby_tapas_downloader/extractors/files.rb +3 -3
- data/lib/ruby_tapas_downloader/feed_fetcher.rb +1 -1
- data/lib/ruby_tapas_downloader/login.rb +1 -1
- data/lib/ruby_tapas_downloader/version.rb +2 -1
- metadata +21 -21
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0f0fe636f9c2f5518dc74c455c8849b99c41d2c5
         | 
| 4 | 
            +
              data.tar.gz: f78d4d669319e1d23328523c2cbab951fcc6637f
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 9c0eade07ae42f0a3fc8ecd795457e78cf27c0c497464ef18be91c71ce5b66e425debf47bf023a33911328550d08621fe95a0f78dd7ee25321d435696e8a1fa8
         | 
| 7 | 
            +
              data.tar.gz: 8cdfc7d654377226ccd8fada6e2c3c34c0534f58a208930babfcabf119ede9e31ce8119e0cf441626c9605edb3e34d524ccb83ce6c8fff71189aba9af896631c
         | 
| @@ -4,12 +4,11 @@ require 'user-configurations' | |
| 4 4 | 
             
            require_relative '../ruby-tapas-downloader'
         | 
| 5 5 |  | 
| 6 6 | 
             
            # The Command Line Interface for Ruby Tapas Downloader.
         | 
| 7 | 
            -
             | 
| 8 | 
            -
               | 
| 9 | 
            -
             | 
| 10 | 
            -
                 | 
| 11 | 
            -
             | 
| 12 | 
            -
                  <<-LONG_DESC
         | 
| 7 | 
            +
            class RubyTapasDownloader::CLI < Thor
         | 
| 8 | 
            +
              # Long description for download action
         | 
| 9 | 
            +
              def self.download_long_description
         | 
| 10 | 
            +
                env_vars = RubyTapasDownloader::Config::CONFIG_KEYS.join(',')
         | 
| 11 | 
            +
                <<-LONG_DESC
         | 
| 13 12 | 
             
            To download you need to be authenticated, you have tree options:
         | 
| 14 13 |  | 
| 15 14 | 
             
            - Pass the params described before
         | 
| @@ -17,80 +16,79 @@ To download you need to be authenticated, you have tree options: | |
| 17 16 | 
             
            - Use `ruby-tapas-downloader configure`
         | 
| 18 17 |  | 
| 19 18 | 
             
            - Pass/export env vars: #{ env_vars }
         | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 19 | 
            +
                LONG_DESC
         | 
| 20 | 
            +
              end
         | 
| 22 21 |  | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 22 | 
            +
              # Perform complete download procedure.
         | 
| 23 | 
            +
              desc 'download', 'Download new content'
         | 
| 24 | 
            +
              option(
         | 
| 25 | 
            +
                :email, required: true, default: Config.default_email, aliases: '-e'
         | 
| 26 | 
            +
              )
         | 
| 27 | 
            +
              option(
         | 
| 28 | 
            +
                :password,
         | 
| 29 | 
            +
                required: true,
         | 
| 30 | 
            +
                default: Config.default_password,
         | 
| 31 | 
            +
                aliases: '-p'
         | 
| 32 | 
            +
              )
         | 
| 33 | 
            +
              option(
         | 
| 34 | 
            +
                :download_path,
         | 
| 35 | 
            +
                required: true,
         | 
| 36 | 
            +
                default: Config.default_download_path,
         | 
| 37 | 
            +
                aliases: '-d'
         | 
| 38 | 
            +
              )
         | 
| 39 | 
            +
              long_desc download_long_description
         | 
| 40 | 
            +
              def download
         | 
| 41 | 
            +
                create_agent
         | 
| 42 | 
            +
                login
         | 
| 43 | 
            +
                fetch_feed
         | 
| 44 | 
            +
                create_catalog
         | 
| 45 | 
            +
                download_catalog
         | 
| 46 | 
            +
              end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
              # Configure user preferences
         | 
| 49 | 
            +
              desc 'configure -e foo@bar.com -p 123 -l .', 'Configure user preferences'
         | 
| 50 | 
            +
              option :email,         required: true, aliases: '-e'
         | 
| 51 | 
            +
              option :password,      required: true, aliases: '-p'
         | 
| 52 | 
            +
              option :download_path, required: true, aliases: '-d'
         | 
| 53 | 
            +
              def configure
         | 
| 54 | 
            +
                RubyTapasDownloader::Config.update(
         | 
| 55 | 
            +
                  email: email, password: password, download_path: download_path
         | 
| 39 56 | 
             
                )
         | 
| 40 | 
            -
                long_desc download_long_description
         | 
| 41 | 
            -
                def download
         | 
| 42 | 
            -
                  create_agent
         | 
| 43 | 
            -
                  login
         | 
| 44 | 
            -
                  fetch_feed
         | 
| 45 | 
            -
                  create_catalog
         | 
| 46 | 
            -
                  download_catalog
         | 
| 47 | 
            -
                end
         | 
| 48 | 
            -
             | 
| 49 | 
            -
                # Configure user preferences
         | 
| 50 | 
            -
                desc 'configure -e foo@bar.com -p 123 -l .', 'Configure user preferences'
         | 
| 51 | 
            -
                option :email,         required: true, aliases: '-e'
         | 
| 52 | 
            -
                option :password,      required: true, aliases: '-p'
         | 
| 53 | 
            -
                option :download_path, required: true, aliases: '-d'
         | 
| 54 | 
            -
                def configure
         | 
| 55 | 
            -
                  RubyTapasDownloader::Config.update(
         | 
| 56 | 
            -
                    email: email, password: password, download_path: download_path
         | 
| 57 | 
            -
                  )
         | 
| 58 | 
            -
                end
         | 
| 59 | 
            -
             | 
| 60 | 
            -
                private
         | 
| 61 | 
            -
             | 
| 62 | 
            -
                def email
         | 
| 63 | 
            -
                  options[:email]
         | 
| 64 | 
            -
                end
         | 
| 65 | 
            -
             | 
| 66 | 
            -
                def password
         | 
| 67 | 
            -
                  options[:password]
         | 
| 68 | 
            -
                end
         | 
| 69 | 
            -
             | 
| 70 | 
            -
                def download_path
         | 
| 71 | 
            -
                  options[:download_path]
         | 
| 72 | 
            -
                end
         | 
| 73 | 
            -
             | 
| 74 | 
            -
                def create_agent
         | 
| 75 | 
            -
                  @agent = Mechanize.new
         | 
| 76 | 
            -
                end
         | 
| 77 | 
            -
             | 
| 78 | 
            -
                def login
         | 
| 79 | 
            -
                  RubyTapasDownloader::Login.new(agent, email, password).login
         | 
| 80 | 
            -
                end
         | 
| 81 | 
            -
             | 
| 82 | 
            -
                def fetch_feed
         | 
| 83 | 
            -
                  @feed = RubyTapasDownloader::FeedFetcher.new(agent, email, password).fetch
         | 
| 84 | 
            -
                end
         | 
| 85 | 
            -
             | 
| 86 | 
            -
                def create_catalog
         | 
| 87 | 
            -
                  @catalog = RubyTapasDownloader::Extractors::Catalog.new.extract feed
         | 
| 88 | 
            -
                end
         | 
| 89 | 
            -
             | 
| 90 | 
            -
                def download_catalog
         | 
| 91 | 
            -
                  @catalog.download download_path, agent
         | 
| 92 | 
            -
                end
         | 
| 93 | 
            -
             | 
| 94 | 
            -
                attr_accessor :agent, :feed
         | 
| 95 57 | 
             
              end
         | 
| 58 | 
            +
             | 
| 59 | 
            +
              private
         | 
| 60 | 
            +
             | 
| 61 | 
            +
              def email
         | 
| 62 | 
            +
                options[:email]
         | 
| 63 | 
            +
              end
         | 
| 64 | 
            +
             | 
| 65 | 
            +
              def password
         | 
| 66 | 
            +
                options[:password]
         | 
| 67 | 
            +
              end
         | 
| 68 | 
            +
             | 
| 69 | 
            +
              def download_path
         | 
| 70 | 
            +
                options[:download_path]
         | 
| 71 | 
            +
              end
         | 
| 72 | 
            +
             | 
| 73 | 
            +
              def create_agent
         | 
| 74 | 
            +
                @agent = Mechanize.new
         | 
| 75 | 
            +
              end
         | 
| 76 | 
            +
             | 
| 77 | 
            +
              def login
         | 
| 78 | 
            +
                RubyTapasDownloader::Login.new(agent, email, password).login
         | 
| 79 | 
            +
              end
         | 
| 80 | 
            +
             | 
| 81 | 
            +
              def fetch_feed
         | 
| 82 | 
            +
                @feed = RubyTapasDownloader::FeedFetcher.new(agent, email, password).fetch
         | 
| 83 | 
            +
              end
         | 
| 84 | 
            +
             | 
| 85 | 
            +
              def create_catalog
         | 
| 86 | 
            +
                @catalog = RubyTapasDownloader::Extractors::Catalog.new.extract feed
         | 
| 87 | 
            +
              end
         | 
| 88 | 
            +
             | 
| 89 | 
            +
              def download_catalog
         | 
| 90 | 
            +
                @catalog.download download_path, agent
         | 
| 91 | 
            +
              end
         | 
| 92 | 
            +
             | 
| 93 | 
            +
              attr_accessor :agent, :feed
         | 
| 96 94 | 
             
            end
         | 
| @@ -5,7 +5,7 @@ class RubyTapasDownloader::Downloadables::Catalog < | |
| 5 5 | 
             
              # @return [Set<RubyTapasDownloader::Downloadables::Episode>] the Episodes.
         | 
| 6 6 | 
             
              attr_reader :episodes
         | 
| 7 7 |  | 
| 8 | 
            -
              def initialize | 
| 8 | 
            +
              def initialize(episodes)
         | 
| 9 9 | 
             
                @episodes = episodes
         | 
| 10 10 | 
             
              end
         | 
| 11 11 |  | 
| @@ -13,18 +13,18 @@ class RubyTapasDownloader::Downloadables::Catalog < | |
| 13 13 | 
             
              #
         | 
| 14 14 | 
             
              # @param basepath [String] the path to place download.
         | 
| 15 15 | 
             
              # @param agent [Mechanize] the Mechanize agent.
         | 
| 16 | 
            -
              def download | 
| 16 | 
            +
              def download(basepath, agent)
         | 
| 17 17 | 
             
                RubyTapasDownloader.logger.info 'Starting download of catalog in ' \
         | 
| 18 18 | 
             
                                                "`#{ basepath }'..."
         | 
| 19 19 | 
             
                FileUtils.mkdir_p basepath
         | 
| 20 20 | 
             
                episodes.each { |episode| episode.download basepath, agent }
         | 
| 21 21 | 
             
              end
         | 
| 22 22 |  | 
| 23 | 
            -
              def == | 
| 23 | 
            +
              def ==(other)
         | 
| 24 24 | 
             
                episodes == other.episodes
         | 
| 25 25 | 
             
              end
         | 
| 26 26 |  | 
| 27 | 
            -
              def eql? | 
| 27 | 
            +
              def eql?(other)
         | 
| 28 28 | 
             
                episodes.eql? other.episodes
         | 
| 29 29 | 
             
              end
         | 
| 30 30 |  | 
| @@ -12,7 +12,7 @@ class RubyTapasDownloader::Downloadables::Episode < | |
| 12 12 | 
             
              #   for that episode.
         | 
| 13 13 | 
             
              attr_reader :files
         | 
| 14 14 |  | 
| 15 | 
            -
              def initialize | 
| 15 | 
            +
              def initialize(title, link, files)
         | 
| 16 16 | 
             
                @title = title
         | 
| 17 17 | 
             
                @link  = link
         | 
| 18 18 | 
             
                @files = files
         | 
| @@ -25,11 +25,10 @@ class RubyTapasDownloader::Downloadables::Episode < | |
| 25 25 | 
             
                @sanitized_title ||= title.downcase.gsub(/[^\w<>#?!$]+/, '-')
         | 
| 26 26 | 
             
              end
         | 
| 27 27 |  | 
| 28 | 
            -
             | 
| 29 28 | 
             
              # Download the Episode.
         | 
| 30 29 | 
             
              #
         | 
| 31 30 | 
             
              # @param (see: RubyTapasDownloader::Downloadables::Catalog#download)
         | 
| 32 | 
            -
              def download | 
| 31 | 
            +
              def download(basepath, agent)
         | 
| 33 32 | 
             
                episode_path = File.join basepath, sanitized_title
         | 
| 34 33 | 
             
                RubyTapasDownloader.logger.info 'Starting download of episode ' \
         | 
| 35 34 | 
             
                                                "`#{ title }' in `#{ episode_path }'..."
         | 
| @@ -37,11 +36,11 @@ class RubyTapasDownloader::Downloadables::Episode < | |
| 37 36 | 
             
                files.each { |file| file.download episode_path, agent }
         | 
| 38 37 | 
             
              end
         | 
| 39 38 |  | 
| 40 | 
            -
              def == | 
| 39 | 
            +
              def ==(other)
         | 
| 41 40 | 
             
                title == other.title && link == other.link && files == other.files
         | 
| 42 41 | 
             
              end
         | 
| 43 42 |  | 
| 44 | 
            -
              def eql? | 
| 43 | 
            +
              def eql?(other)
         | 
| 45 44 | 
             
                title.eql?(other.title) && link.eql?(other.link) && files.eql?(other.files)
         | 
| 46 45 | 
             
              end
         | 
| 47 46 |  | 
| @@ -8,7 +8,7 @@ class RubyTapasDownloader::Downloadables::File < | |
| 8 8 | 
             
              # @return [String] the link to download the File.
         | 
| 9 9 | 
             
              attr_reader :link
         | 
| 10 10 |  | 
| 11 | 
            -
              def initialize | 
| 11 | 
            +
              def initialize(name, link)
         | 
| 12 12 | 
             
                @name = name
         | 
| 13 13 | 
             
                @link = link
         | 
| 14 14 | 
             
              end
         | 
| @@ -16,20 +16,20 @@ class RubyTapasDownloader::Downloadables::File < | |
| 16 16 | 
             
              # Download the File.
         | 
| 17 17 | 
             
              #
         | 
| 18 18 | 
             
              # @param (see: RubyTapasDownloader::Downloadables::Catalog#download)
         | 
| 19 | 
            -
              def download | 
| 19 | 
            +
              def download(basepath, agent)
         | 
| 20 20 | 
             
                FileUtils.mkdir_p basepath
         | 
| 21 21 |  | 
| 22 22 | 
             
                file_path = File.join(basepath, name)
         | 
| 23 23 | 
             
                RubyTapasDownloader.logger.info "Starting download of file `#{ name }' " \
         | 
| 24 24 | 
             
                                                "in `#{ file_path }'..."
         | 
| 25 | 
            -
                agent.download link, file_path unless File. | 
| 25 | 
            +
                agent.download link, file_path unless File.exist? file_path
         | 
| 26 26 | 
             
              end
         | 
| 27 27 |  | 
| 28 | 
            -
              def == | 
| 28 | 
            +
              def ==(other)
         | 
| 29 29 | 
             
                name == other.name && link == other.link
         | 
| 30 30 | 
             
              end
         | 
| 31 31 |  | 
| 32 | 
            -
              def eql? | 
| 32 | 
            +
              def eql?(other)
         | 
| 33 33 | 
             
                name.eql?(other.name) && link.eql?(other.link)
         | 
| 34 34 | 
             
              end
         | 
| 35 35 |  | 
| @@ -2,20 +2,20 @@ | |
| 2 2 | 
             
            class RubyTapasDownloader::Extractors::Catalog < RubyTapasDownloader::Extractor
         | 
| 3 3 | 
             
              # @param episode_extractor [RubyTapasDownloader::Extractors::Episode] the
         | 
| 4 4 | 
             
              #   Episode Extractor.
         | 
| 5 | 
            -
              def initialize | 
| 6 | 
            -
                                               RubyTapasDownloader::Extractors::Episode.new
         | 
| 5 | 
            +
              def initialize(episode_extractor =
         | 
| 6 | 
            +
                                               RubyTapasDownloader::Extractors::Episode.new)
         | 
| 7 7 | 
             
                @episode_extractor = episode_extractor
         | 
| 8 8 | 
             
              end
         | 
| 9 9 |  | 
| 10 10 | 
             
              # @param feed [RSS::Rss] the feed extracted with `RSS::Parser.parse`.
         | 
| 11 11 | 
             
              # @return [RubyTapasDownloader::Downloadables::Catalog] the Catalog extracted
         | 
| 12 12 | 
             
              #   from feed.
         | 
| 13 | 
            -
              def extract | 
| 13 | 
            +
              def extract(feed)
         | 
| 14 14 | 
             
                episodes = Set.new
         | 
| 15 15 |  | 
| 16 | 
            -
                feed.items.each  | 
| 16 | 
            +
                feed.items.each do |item|
         | 
| 17 17 | 
             
                  episodes << @episode_extractor.extract(item)
         | 
| 18 | 
            -
                 | 
| 18 | 
            +
                end
         | 
| 19 19 |  | 
| 20 20 | 
             
                RubyTapasDownloader::Downloadables::Catalog.new episodes
         | 
| 21 21 | 
             
              end
         | 
| @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
            class RubyTapasDownloader::Extractors::Episode < RubyTapasDownloader::Extractor
         | 
| 3 3 | 
             
              # @param files_extractor [RubyTapasDownloader::Extractors::Files] the
         | 
| 4 4 | 
             
              #   Files Extractor.
         | 
| 5 | 
            -
              def initialize | 
| 5 | 
            +
              def initialize(files_extractor = RubyTapasDownloader::Extractors::Files.new)
         | 
| 6 6 | 
             
                @files_extractor = files_extractor
         | 
| 7 7 | 
             
              end
         | 
| 8 8 |  | 
| @@ -10,7 +10,7 @@ class RubyTapasDownloader::Extractors::Episode < RubyTapasDownloader::Extractor | |
| 10 10 | 
             
              #   `feed.items[i]`.
         | 
| 11 11 | 
             
              # @return [RubyTapasDownloader::Downloadables::Episode] the Episode extracted
         | 
| 12 12 | 
             
              #   from feed item.
         | 
| 13 | 
            -
              def extract | 
| 13 | 
            +
              def extract(item)
         | 
| 14 14 | 
             
                title = CGI.unescapeHTML item.title
         | 
| 15 15 | 
             
                link  = item.link
         | 
| 16 16 | 
             
                files = @files_extractor.extract item.description
         | 
| @@ -4,14 +4,14 @@ class RubyTapasDownloader::Extractors::Files < RubyTapasDownloader::Extractor | |
| 4 4 | 
             
              #   `feed.items[i].description`.
         | 
| 5 5 | 
             
              # @return [Set<RubyTapasDownloader::Downloadables::File>] the Set of Files
         | 
| 6 6 | 
             
              #   extracted from feed item description.
         | 
| 7 | 
            -
              def extract | 
| 7 | 
            +
              def extract(item_description)
         | 
| 8 8 | 
             
                files = Set.new
         | 
| 9 9 | 
             
                document = REXML::Document.new item_description
         | 
| 10 | 
            -
                document.elements.each("/div[@class='blog-entry']/ul/li/a")  | 
| 10 | 
            +
                document.elements.each("/div[@class='blog-entry']/ul/li/a") do |element|
         | 
| 11 11 | 
             
                  name = element.text
         | 
| 12 12 | 
             
                  link = element.attribute('href').to_s
         | 
| 13 13 | 
             
                  files << RubyTapasDownloader::Downloadables::File.new(name, link)
         | 
| 14 | 
            -
                 | 
| 14 | 
            +
                end
         | 
| 15 15 | 
             
                files
         | 
| 16 16 | 
             
              end
         | 
| 17 17 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,85 +1,85 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ruby-tapas-downloader
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.0. | 
| 4 | 
            +
              version: 2.0.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Leandro Facchinetti
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014- | 
| 11 | 
            +
            date: 2014-07-12 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: mechanize
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 | 
            -
                - - ~>
         | 
| 17 | 
            +
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 19 | 
             
                    version: '2.7'
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 | 
            -
                - - ~>
         | 
| 24 | 
            +
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 26 | 
             
                    version: '2.7'
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: user-configurations
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 | 
            -
                - - ~>
         | 
| 31 | 
            +
                - - "~>"
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 33 | 
             
                    version: '0.1'
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 | 
            -
                - - ~>
         | 
| 38 | 
            +
                - - "~>"
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 40 | 
             
                    version: '0.1'
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: thor
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 44 | 
             
                requirements:
         | 
| 45 | 
            -
                - - ~>
         | 
| 45 | 
            +
                - - "~>"
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 47 | 
             
                    version: '0.19'
         | 
| 48 48 | 
             
              type: :runtime
         | 
| 49 49 | 
             
              prerelease: false
         | 
| 50 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 | 
            -
                - - ~>
         | 
| 52 | 
            +
                - - "~>"
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 54 | 
             
                    version: '0.19'
         | 
| 55 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 56 | 
             
              name: rspec
         | 
| 57 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 58 | 
             
                requirements:
         | 
| 59 | 
            -
                - - ~>
         | 
| 59 | 
            +
                - - "~>"
         | 
| 60 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            -
                    version: ' | 
| 61 | 
            +
                    version: '3.0'
         | 
| 62 62 | 
             
              type: :development
         | 
| 63 63 | 
             
              prerelease: false
         | 
| 64 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 65 | 
             
                requirements:
         | 
| 66 | 
            -
                - - ~>
         | 
| 66 | 
            +
                - - "~>"
         | 
| 67 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            -
                    version: ' | 
| 68 | 
            +
                    version: '3.0'
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 | 
            -
              name: pry- | 
| 70 | 
            +
              name: pry-byebug
         | 
| 71 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 72 | 
             
                requirements:
         | 
| 73 | 
            -
                - - ~>
         | 
| 73 | 
            +
                - - "~>"
         | 
| 74 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            -
                    version: ' | 
| 75 | 
            +
                    version: '1.3'
         | 
| 76 76 | 
             
              type: :development
         | 
| 77 77 | 
             
              prerelease: false
         | 
| 78 78 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 79 | 
             
                requirements:
         | 
| 80 | 
            -
                - - ~>
         | 
| 80 | 
            +
                - - "~>"
         | 
| 81 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            -
                    version: ' | 
| 82 | 
            +
                    version: '1.3'
         | 
| 83 83 | 
             
            description: It downloads all episodes and attachments, organizes them for later use
         | 
| 84 84 | 
             
              and keeps an easy to use index of episodes.
         | 
| 85 85 | 
             
            email: ruby-tapas-downloader@leafac.com
         | 
| @@ -119,17 +119,17 @@ require_paths: | |
| 119 119 | 
             
            - lib
         | 
| 120 120 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 121 121 | 
             
              requirements:
         | 
| 122 | 
            -
              - -  | 
| 122 | 
            +
              - - ">="
         | 
| 123 123 | 
             
                - !ruby/object:Gem::Version
         | 
| 124 | 
            -
                  version:  | 
| 124 | 
            +
                  version: 2.0.0
         | 
| 125 125 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 126 126 | 
             
              requirements:
         | 
| 127 | 
            -
              - -  | 
| 127 | 
            +
              - - ">="
         | 
| 128 128 | 
             
                - !ruby/object:Gem::Version
         | 
| 129 129 | 
             
                  version: '0'
         | 
| 130 130 | 
             
            requirements: []
         | 
| 131 131 | 
             
            rubyforge_project: 
         | 
| 132 | 
            -
            rubygems_version: 2.2. | 
| 132 | 
            +
            rubygems_version: 2.2.0
         | 
| 133 133 | 
             
            signing_key: 
         | 
| 134 134 | 
             
            specification_version: 4
         | 
| 135 135 | 
             
            summary: Downloader for Avdi Grimm Ruby Tapas
         |