ayadn 3.0 → 4.0
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/.travis.yml +1 -4
- data/CHANGELOG.md +12 -4
- data/README.md +2 -5
- data/ayadn.gemspec +0 -2
- data/doc/01-index.md +0 -3
- data/doc/02-install.md +0 -4
- data/doc/06-post.md +0 -16
- data/doc/{18-contact.md → 16-contact.md} +0 -0
- data/doc/{19-examples.md → 17-examples.md} +0 -0
- data/doc/18-develop.md +165 -0
- data/lib/ayadn/action.rb +206 -396
- data/lib/ayadn/alias.rb +1 -1
- data/lib/ayadn/annotations.rb +15 -27
- data/lib/ayadn/api.rb +39 -28
- data/lib/ayadn/app.rb +19 -29
- data/lib/ayadn/authorize.rb +22 -13
- data/lib/ayadn/blacklist.rb +6 -19
- data/lib/ayadn/channel_object.rb +75 -0
- data/lib/ayadn/check.rb +19 -11
- data/lib/ayadn/cnx.rb +9 -15
- data/lib/ayadn/databases.rb +15 -27
- data/lib/ayadn/debug.rb +9 -9
- data/lib/ayadn/descriptions.rb +1 -99
- data/lib/ayadn/diagnostics.rb +16 -15
- data/lib/ayadn/endpoints.rb +18 -22
- data/lib/ayadn/errors.rb +1 -1
- data/lib/ayadn/fileops.rb +12 -12
- data/lib/ayadn/filtered_post_object.rb +11 -0
- data/lib/ayadn/ids.rb +0 -3
- data/lib/ayadn/logs.rb +4 -4
- data/lib/ayadn/mark.rb +34 -30
- data/lib/ayadn/nicerank.rb +7 -7
- data/lib/ayadn/nowplaying.rb +8 -22
- data/lib/ayadn/pinboard.rb +8 -12
- data/lib/ayadn/post.rb +18 -18
- data/lib/ayadn/post_object.rb +118 -0
- data/lib/ayadn/preferences_object.rb +290 -0
- data/lib/ayadn/profile.rb +2 -2
- data/lib/ayadn/scroll.rb +58 -67
- data/lib/ayadn/search.rb +22 -15
- data/lib/ayadn/set.rb +93 -83
- data/lib/ayadn/settings.rb +25 -33
- data/lib/ayadn/status.rb +24 -26
- data/lib/ayadn/stream.rb +68 -66
- data/lib/ayadn/stream_object.rb +56 -0
- data/lib/ayadn/switch.rb +2 -2
- data/lib/ayadn/user_object.rb +116 -0
- data/lib/ayadn/version.rb +1 -1
- data/lib/ayadn/view.rb +255 -278
- data/lib/ayadn/workers.rb +172 -174
- data/spec/integration/action_spec.rb +55 -34
- data/spec/mock/ayadn.sqlite +0 -0
- data/spec/unit/annotations_spec.rb +54 -41
- data/spec/unit/api_spec.rb +78 -7
- data/spec/unit/blacklistworkers_spec.rb +92 -20
- data/spec/unit/databases_spec.rb +117 -36
- data/spec/unit/endpoints_spec.rb +82 -10
- data/spec/unit/nicerank_spec.rb +56 -27
- data/spec/unit/post_spec.rb +94 -21
- data/spec/unit/set_spec.rb +141 -210
- data/spec/unit/view_spec.rb +105 -32
- data/spec/unit/workers_spec.rb +143 -52
- metadata +12 -37
- data/doc/16-movie.md +0 -39
- data/doc/17-tvshow.md +0 -46
- data/lib/ayadn/nowwatching.rb +0 -118
- data/lib/ayadn/tvshow.rb +0 -162
    
        data/spec/unit/databases_spec.rb
    CHANGED
    
    | @@ -3,38 +3,123 @@ require 'helpers' | |
| 3 3 |  | 
| 4 4 | 
             
            describe Ayadn::Databases do
         | 
| 5 5 | 
             
              before do
         | 
| 6 | 
            -
                Ayadn::Settings.stub(:options).and_return( | 
| 6 | 
            +
                Ayadn::Settings.stub(:options).and_return(
         | 
| 7 | 
            +
                  Ayadn::Preferences.new(
         | 
| 8 | 
            +
                  {
         | 
| 9 | 
            +
                    timeline: {
         | 
| 10 | 
            +
                      directed: true,
         | 
| 11 | 
            +
                      source: true,
         | 
| 12 | 
            +
                      symbols: true,
         | 
| 13 | 
            +
                      name: true,
         | 
| 14 | 
            +
                      date: true,
         | 
| 15 | 
            +
                      debug: false,
         | 
| 16 | 
            +
                      compact: false
         | 
| 17 | 
            +
                    },
         | 
| 18 | 
            +
                    marker: {
         | 
| 19 | 
            +
                      messages: true
         | 
| 20 | 
            +
                    },
         | 
| 21 | 
            +
                    counts: {
         | 
| 22 | 
            +
                      default: 50,
         | 
| 23 | 
            +
                      unified: 50,
         | 
| 24 | 
            +
                      global: 50,
         | 
| 25 | 
            +
                      checkins: 50,
         | 
| 26 | 
            +
                      conversations: 50,
         | 
| 27 | 
            +
                      photos: 50,
         | 
| 28 | 
            +
                      trending: 50,
         | 
| 29 | 
            +
                      mentions: 50,
         | 
| 30 | 
            +
                      convo: 50,
         | 
| 31 | 
            +
                      posts: 50,
         | 
| 32 | 
            +
                      messages: 20,
         | 
| 33 | 
            +
                      search: 200,
         | 
| 34 | 
            +
                      whoreposted: 20,
         | 
| 35 | 
            +
                      whostarred: 20,
         | 
| 36 | 
            +
                      whatstarred: 100,
         | 
| 37 | 
            +
                      files: 50
         | 
| 38 | 
            +
                    },
         | 
| 39 | 
            +
                    formats: {
         | 
| 40 | 
            +
                      table: {
         | 
| 41 | 
            +
                        width: 75,
         | 
| 42 | 
            +
                        borders: true
         | 
| 43 | 
            +
                      },
         | 
| 44 | 
            +
                      list: {
         | 
| 45 | 
            +
                        reverse: true
         | 
| 46 | 
            +
                      }
         | 
| 47 | 
            +
                    },
         | 
| 48 | 
            +
                    channels: {
         | 
| 49 | 
            +
                      links: true
         | 
| 50 | 
            +
                    },
         | 
| 7 51 | 
             
                    colors: {
         | 
| 52 | 
            +
                      id: :blue,
         | 
| 53 | 
            +
                      index: :red,
         | 
| 54 | 
            +
                      username: :green,
         | 
| 55 | 
            +
                      name: :magenta,
         | 
| 56 | 
            +
                      date: :cyan,
         | 
| 57 | 
            +
                      link: :yellow,
         | 
| 58 | 
            +
                      dots: :blue,
         | 
| 8 59 | 
             
                      hashtags: :cyan,
         | 
| 9 60 | 
             
                      mentions: :red,
         | 
| 10 | 
            -
                       | 
| 61 | 
            +
                      source: :cyan,
         | 
| 62 | 
            +
                      symbols: :green,
         | 
| 63 | 
            +
                      unread: :cyan,
         | 
| 64 | 
            +
                      debug: :red,
         | 
| 11 65 | 
             
                      excerpt: :green
         | 
| 12 66 | 
             
                    },
         | 
| 13 | 
            -
                     | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
                     | 
| 67 | 
            +
                    backup: {
         | 
| 68 | 
            +
                      posts: false,
         | 
| 69 | 
            +
                      messages: false,
         | 
| 70 | 
            +
                      lists: false
         | 
| 71 | 
            +
                    },
         | 
| 72 | 
            +
                    scroll: {
         | 
| 73 | 
            +
                      spinner: true,
         | 
| 74 | 
            +
                      timer: 3,
         | 
| 75 | 
            +
                      date: false
         | 
| 76 | 
            +
                    },
         | 
| 77 | 
            +
                    nicerank: {
         | 
| 78 | 
            +
                      threshold: 2.1,
         | 
| 79 | 
            +
                      filter: true,
         | 
| 80 | 
            +
                      unranked: false
         | 
| 81 | 
            +
                    },
         | 
| 82 | 
            +
                    nowplaying: {},
         | 
| 83 | 
            +
                    blacklist: {
         | 
| 84 | 
            +
                      active: true
         | 
| 85 | 
            +
                    }
         | 
| 86 | 
            +
                  }))
         | 
| 87 | 
            +
                require 'json'
         | 
| 88 | 
            +
                require 'ostruct'
         | 
| 89 | 
            +
                obj =
         | 
| 90 | 
            +
                  {
         | 
| 91 | 
            +
                    identity: {
         | 
| 92 | 
            +
                      username: 'test',
         | 
| 93 | 
            +
                      handle: '@test'
         | 
| 94 | 
            +
                    },
         | 
| 95 | 
            +
                    post_max_length: 256,
         | 
| 96 | 
            +
                    message_max_length: 2048,
         | 
| 97 | 
            +
                    version: 'wee',
         | 
| 98 | 
            +
                    paths: {
         | 
| 99 | 
            +
                      db: 'spec/mock/',
         | 
| 100 | 
            +
                      log: 'spec/mock'
         | 
| 101 | 
            +
                    },
         | 
| 102 | 
            +
                    platform: 'shoes',
         | 
| 103 | 
            +
                    ruby: '0',
         | 
| 104 | 
            +
                    locale: 'gibberish'
         | 
| 28 105 | 
             
                  }
         | 
| 29 | 
            -
                 | 
| 30 | 
            -
             | 
| 106 | 
            +
                Ayadn::Settings.stub(:config).and_return(
         | 
| 107 | 
            +
                  JSON.parse(obj.to_json, object_class: OpenStruct)
         | 
| 108 | 
            +
                )
         | 
| 109 | 
            +
                global_hash = {
         | 
| 31 110 | 
             
                  scrolling: false,
         | 
| 32 111 | 
             
                  force: false
         | 
| 33 | 
            -
                } | 
| 112 | 
            +
                }
         | 
| 113 | 
            +
                Ayadn::Settings.stub(:global).and_return(
         | 
| 114 | 
            +
                  JSON.parse(global_hash.to_json, object_class: OpenStruct)
         | 
| 115 | 
            +
                )
         | 
| 34 116 | 
             
                Ayadn::Logs.stub(:rec).and_return("logged")
         | 
| 35 117 | 
             
                Dir.stub(:home).and_return("spec/mock")
         | 
| 36 118 | 
             
                Ayadn::Databases.open_databases
         | 
| 37 119 | 
             
              end
         | 
| 120 | 
            +
             | 
| 121 | 
            +
              let(:data) { JSON.parse(File.read("spec/mock/stream.json")) }
         | 
| 122 | 
            +
             | 
| 38 123 | 
             
              describe ".add_to_users_db" do
         | 
| 39 124 | 
             
                it "adds a user" do
         | 
| 40 125 | 
             
                  Ayadn::Databases.add_to_users_db(33, 'test', 'Mr Test')
         | 
| @@ -58,26 +143,22 @@ describe Ayadn::Databases do | |
| 58 143 | 
             
              end
         | 
| 59 144 | 
             
              describe ".save_max_id" do
         | 
| 60 145 | 
             
                it "saves pagination" do
         | 
| 61 | 
            -
                   | 
| 62 | 
            -
                  Ayadn::Databases.save_max_id( | 
| 63 | 
            -
                  expect(Ayadn::Databases.all_pagination).to eq [' | 
| 64 | 
            -
                  expect(Ayadn::Databases.find_last_id_from(' | 
| 65 | 
            -
             | 
| 66 | 
            -
                  Ayadn::Databases.pagination_delete('test_stream')
         | 
| 67 | 
            -
             | 
| 68 | 
            -
                  stream = {'meta'=>{'max_id'=>'12'}}
         | 
| 69 | 
            -
                  Ayadn::Databases.save_max_id(stream, 'yolo')
         | 
| 70 | 
            -
                  expect(Ayadn::Databases.all_pagination).to eq ['yolo', 12]
         | 
| 71 | 
            -
                  expect(Ayadn::Databases.find_last_id_from('yolo')).to eq 12
         | 
| 146 | 
            +
                  stream_object = Ayadn::StreamObject.new(data)
         | 
| 147 | 
            +
                  Ayadn::Databases.save_max_id(stream_object)
         | 
| 148 | 
            +
                  expect(Ayadn::Databases.all_pagination).to eq ['unified', 23187443]
         | 
| 149 | 
            +
                  expect(Ayadn::Databases.find_last_id_from('unified')).to eq 23187443
         | 
| 150 | 
            +
                  Ayadn::Databases.pagination_delete('unified')
         | 
| 72 151 | 
             
                end
         | 
| 73 152 | 
             
              end
         | 
| 74 153 | 
             
              describe ".has_new?" do
         | 
| 75 154 | 
             
                it "check if new posts since last pagination record" do
         | 
| 76 | 
            -
                   | 
| 77 | 
            -
                  Ayadn::Databases.save_max_id( | 
| 78 | 
            -
                  expect(Ayadn::Databases.has_new?( | 
| 79 | 
            -
                   | 
| 80 | 
            -
                   | 
| 155 | 
            +
                  stream_object = Ayadn::StreamObject.new(data)
         | 
| 156 | 
            +
                  Ayadn::Databases.save_max_id(stream_object)
         | 
| 157 | 
            +
                  expect(Ayadn::Databases.has_new?(stream_object, 'unified')).to eq false
         | 
| 158 | 
            +
                  temp = stream_object.input
         | 
| 159 | 
            +
                  temp['meta']['max_id'] = '42000000'
         | 
| 160 | 
            +
                  stream_object = Ayadn::StreamObject.new(temp)
         | 
| 161 | 
            +
                  expect(Ayadn::Databases.has_new?(stream_object, 'unified')).to eq true
         | 
| 81 162 | 
             
                end
         | 
| 82 163 | 
             
              end
         | 
| 83 164 | 
             
              describe ".save_indexed_posts" do
         | 
    
        data/spec/unit/endpoints_spec.rb
    CHANGED
    
    | @@ -3,22 +3,94 @@ require 'spec_helper' | |
| 3 3 | 
             
            describe Ayadn::Endpoints do
         | 
| 4 4 | 
             
              before do
         | 
| 5 5 | 
             
                Ayadn::Settings.stub(:user_token).and_return('XXX')
         | 
| 6 | 
            -
                Ayadn::Settings.stub(:options).and_return( | 
| 6 | 
            +
                Ayadn::Settings.stub(:options).and_return(
         | 
| 7 | 
            +
                  Ayadn::Preferences.new(
         | 
| 8 | 
            +
                  {
         | 
| 9 | 
            +
                    timeline: {
         | 
| 10 | 
            +
                      directed: true,
         | 
| 11 | 
            +
                      source: true,
         | 
| 12 | 
            +
                      symbols: true,
         | 
| 13 | 
            +
                      name: true,
         | 
| 14 | 
            +
                      date: true,
         | 
| 15 | 
            +
                      debug: false,
         | 
| 16 | 
            +
                      compact: false
         | 
| 17 | 
            +
                    },
         | 
| 18 | 
            +
                    marker: {
         | 
| 19 | 
            +
                      messages: true
         | 
| 20 | 
            +
                    },
         | 
| 7 21 | 
             
                    counts: {
         | 
| 8 | 
            -
                      unified: 33,
         | 
| 9 22 | 
             
                      default: 100,
         | 
| 10 | 
            -
                       | 
| 23 | 
            +
                      unified: 33,
         | 
| 24 | 
            +
                      global: 100,
         | 
| 25 | 
            +
                      checkins: 100,
         | 
| 26 | 
            +
                      conversations: 12,
         | 
| 27 | 
            +
                      photos: 100,
         | 
| 28 | 
            +
                      trending: 100,
         | 
| 29 | 
            +
                      mentions: 100,
         | 
| 30 | 
            +
                      convo: 100,
         | 
| 31 | 
            +
                      posts: 100,
         | 
| 32 | 
            +
                      messages: 20,
         | 
| 33 | 
            +
                      search: 200,
         | 
| 34 | 
            +
                      whoreposted: 20,
         | 
| 35 | 
            +
                      whostarred: 20,
         | 
| 36 | 
            +
                      whatstarred: 100,
         | 
| 37 | 
            +
                      files: 100
         | 
| 11 38 | 
             
                    },
         | 
| 12 | 
            -
                     | 
| 13 | 
            -
                       | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 39 | 
            +
                    formats: {
         | 
| 40 | 
            +
                      table: {
         | 
| 41 | 
            +
                        width: 75,
         | 
| 42 | 
            +
                        borders: true
         | 
| 43 | 
            +
                      },
         | 
| 44 | 
            +
                      list: {
         | 
| 45 | 
            +
                        reverse: true
         | 
| 46 | 
            +
                      }
         | 
| 47 | 
            +
                    },
         | 
| 48 | 
            +
                    channels: {
         | 
| 49 | 
            +
                      links: true
         | 
| 50 | 
            +
                    },
         | 
| 51 | 
            +
                    colors: {
         | 
| 52 | 
            +
                      id: :blue,
         | 
| 53 | 
            +
                      index: :red,
         | 
| 54 | 
            +
                      username: :green,
         | 
| 55 | 
            +
                      name: :magenta,
         | 
| 56 | 
            +
                      date: :cyan,
         | 
| 57 | 
            +
                      link: :yellow,
         | 
| 58 | 
            +
                      dots: :blue,
         | 
| 59 | 
            +
                      hashtags: :cyan,
         | 
| 60 | 
            +
                      mentions: :red,
         | 
| 61 | 
            +
                      source: :cyan,
         | 
| 62 | 
            +
                      symbols: :green,
         | 
| 63 | 
            +
                      unread: :cyan,
         | 
| 64 | 
            +
                      debug: :red,
         | 
| 65 | 
            +
                      excerpt: :green
         | 
| 66 | 
            +
                    },
         | 
| 67 | 
            +
                    backup: {
         | 
| 68 | 
            +
                      posts: false,
         | 
| 69 | 
            +
                      messages: false,
         | 
| 70 | 
            +
                      lists: false
         | 
| 71 | 
            +
                    },
         | 
| 72 | 
            +
                    scroll: {
         | 
| 73 | 
            +
                      spinner: true,
         | 
| 74 | 
            +
                      timer: 3,
         | 
| 75 | 
            +
                      date: false
         | 
| 76 | 
            +
                    },
         | 
| 77 | 
            +
                    nicerank: {
         | 
| 78 | 
            +
                      threshold: 2.1,
         | 
| 79 | 
            +
                      filter: true,
         | 
| 80 | 
            +
                      unranked: false
         | 
| 81 | 
            +
                    },
         | 
| 82 | 
            +
                    nowplaying: {},
         | 
| 83 | 
            +
                    blacklist: {
         | 
| 84 | 
            +
                      active: true
         | 
| 16 85 | 
             
                    }
         | 
| 17 | 
            -
                  })
         | 
| 18 | 
            -
                 | 
| 86 | 
            +
                  }))
         | 
| 87 | 
            +
                global_hash = {
         | 
| 19 88 | 
             
                  scrolling: false,
         | 
| 20 89 | 
             
                  force: false
         | 
| 21 | 
            -
                } | 
| 90 | 
            +
                }
         | 
| 91 | 
            +
                Ayadn::Settings.stub(:global).and_return(
         | 
| 92 | 
            +
                  JSON.parse(global_hash.to_json, object_class: OpenStruct)
         | 
| 93 | 
            +
                )
         | 
| 22 94 | 
             
              end
         | 
| 23 95 | 
             
              describe '#token_info' do
         | 
| 24 96 | 
             
                it "returns the Token url" do
         | 
    
        data/spec/unit/nicerank_spec.rb
    CHANGED
    
    | @@ -6,41 +6,50 @@ require 'json' | |
| 6 6 | 
             
            describe Ayadn::NiceRank do
         | 
| 7 7 | 
             
              before do
         | 
| 8 8 | 
             
                Ayadn::Settings.stub(:options).and_return(
         | 
| 9 | 
            +
                  Ayadn::Preferences.new(
         | 
| 9 10 | 
             
                  {
         | 
| 10 11 | 
             
                    timeline: {
         | 
| 11 | 
            -
                      directed:  | 
| 12 | 
            -
                      html: 0,
         | 
| 13 | 
            -
                      annotations: 1,
         | 
| 12 | 
            +
                      directed: true,
         | 
| 14 13 | 
             
                      source: true,
         | 
| 15 14 | 
             
                      symbols: true,
         | 
| 16 15 | 
             
                      name: true,
         | 
| 17 16 | 
             
                      date: true,
         | 
| 18 | 
            -
                       | 
| 19 | 
            -
                       | 
| 17 | 
            +
                      debug: false,
         | 
| 18 | 
            +
                      compact: false
         | 
| 19 | 
            +
                    },
         | 
| 20 | 
            +
                    marker: {
         | 
| 21 | 
            +
                      messages: true
         | 
| 20 22 | 
             
                    },
         | 
| 21 23 | 
             
                    counts: {
         | 
| 22 24 | 
             
                      default: 50,
         | 
| 23 | 
            -
                      unified:  | 
| 24 | 
            -
                      global:  | 
| 25 | 
            -
                      checkins:  | 
| 25 | 
            +
                      unified: 50,
         | 
| 26 | 
            +
                      global: 50,
         | 
| 27 | 
            +
                      checkins: 50,
         | 
| 26 28 | 
             
                      conversations: 50,
         | 
| 27 29 | 
             
                      photos: 50,
         | 
| 28 | 
            -
                      trending:  | 
| 29 | 
            -
                      mentions:  | 
| 30 | 
            -
                      convo:  | 
| 31 | 
            -
                      posts:  | 
| 32 | 
            -
                      messages:  | 
| 30 | 
            +
                      trending: 50,
         | 
| 31 | 
            +
                      mentions: 50,
         | 
| 32 | 
            +
                      convo: 50,
         | 
| 33 | 
            +
                      posts: 50,
         | 
| 34 | 
            +
                      messages: 20,
         | 
| 33 35 | 
             
                      search: 200,
         | 
| 34 | 
            -
                      whoreposted:  | 
| 35 | 
            -
                      whostarred:  | 
| 36 | 
            +
                      whoreposted: 20,
         | 
| 37 | 
            +
                      whostarred: 20,
         | 
| 36 38 | 
             
                      whatstarred: 100,
         | 
| 37 | 
            -
                      files:  | 
| 39 | 
            +
                      files: 50
         | 
| 38 40 | 
             
                    },
         | 
| 39 41 | 
             
                    formats: {
         | 
| 40 42 | 
             
                      table: {
         | 
| 41 | 
            -
                        width: 75
         | 
| 43 | 
            +
                        width: 75,
         | 
| 44 | 
            +
                        borders: true
         | 
| 45 | 
            +
                      },
         | 
| 46 | 
            +
                      list: {
         | 
| 47 | 
            +
                        reverse: true
         | 
| 42 48 | 
             
                      }
         | 
| 43 49 | 
             
                    },
         | 
| 50 | 
            +
                    channels: {
         | 
| 51 | 
            +
                      links: true
         | 
| 52 | 
            +
                    },
         | 
| 44 53 | 
             
                    colors: {
         | 
| 45 54 | 
             
                      id: :blue,
         | 
| 46 55 | 
             
                      index: :red,
         | 
| @@ -53,6 +62,7 @@ describe Ayadn::NiceRank do | |
| 53 62 | 
             
                      mentions: :red,
         | 
| 54 63 | 
             
                      source: :cyan,
         | 
| 55 64 | 
             
                      symbols: :green,
         | 
| 65 | 
            +
                      unread: :cyan,
         | 
| 56 66 | 
             
                      debug: :red,
         | 
| 57 67 | 
             
                      excerpt: :green
         | 
| 58 68 | 
             
                    },
         | 
| @@ -62,7 +72,9 @@ describe Ayadn::NiceRank do | |
| 62 72 | 
             
                      lists: false
         | 
| 63 73 | 
             
                    },
         | 
| 64 74 | 
             
                    scroll: {
         | 
| 65 | 
            -
                       | 
| 75 | 
            +
                      spinner: true,
         | 
| 76 | 
            +
                      timer: 3,
         | 
| 77 | 
            +
                      date: false
         | 
| 66 78 | 
             
                    },
         | 
| 67 79 | 
             
                    nicerank: {
         | 
| 68 80 | 
             
                      threshold: 2.1,
         | 
| @@ -70,23 +82,40 @@ describe Ayadn::NiceRank do | |
| 70 82 | 
             
                      unranked: false
         | 
| 71 83 | 
             
                    },
         | 
| 72 84 | 
             
                    nowplaying: {},
         | 
| 73 | 
            -
                     | 
| 74 | 
            -
                       | 
| 75 | 
            -
                    },
         | 
| 76 | 
            -
                    tvshow: {
         | 
| 77 | 
            -
                      hashtag: 'nowwatching'
         | 
| 85 | 
            +
                    blacklist: {
         | 
| 86 | 
            +
                      active: true
         | 
| 78 87 | 
             
                    }
         | 
| 79 | 
            -
                  }
         | 
| 88 | 
            +
                  })
         | 
| 80 89 | 
             
                )
         | 
| 81 | 
            -
                 | 
| 90 | 
            +
                require 'json'
         | 
| 91 | 
            +
                require 'ostruct'
         | 
| 92 | 
            +
                obj =
         | 
| 93 | 
            +
                  {
         | 
| 82 94 | 
             
                    identity: {
         | 
| 83 95 | 
             
                      username: 'test',
         | 
| 84 96 | 
             
                      handle: '@test'
         | 
| 85 97 | 
             
                    },
         | 
| 86 98 | 
             
                    post_max_length: 256,
         | 
| 87 99 | 
             
                    message_max_length: 2048,
         | 
| 88 | 
            -
                    version: 'wee'
         | 
| 89 | 
            -
             | 
| 100 | 
            +
                    version: 'wee',
         | 
| 101 | 
            +
                    paths: {
         | 
| 102 | 
            +
                      db: 'spec/mock/',
         | 
| 103 | 
            +
                      log: 'spec/mock'
         | 
| 104 | 
            +
                    },
         | 
| 105 | 
            +
                    platform: 'shoes',
         | 
| 106 | 
            +
                    ruby: '0',
         | 
| 107 | 
            +
                    locale: 'gibberish'
         | 
| 108 | 
            +
                  }
         | 
| 109 | 
            +
                Ayadn::Settings.stub(:config).and_return(
         | 
| 110 | 
            +
                  JSON.parse(obj.to_json, object_class: OpenStruct)
         | 
| 111 | 
            +
                )
         | 
| 112 | 
            +
                global_hash = {
         | 
| 113 | 
            +
                  scrolling: false,
         | 
| 114 | 
            +
                  force: false
         | 
| 115 | 
            +
                }
         | 
| 116 | 
            +
                Ayadn::Settings.stub(:global).and_return(
         | 
| 117 | 
            +
                  JSON.parse(global_hash.to_json, object_class: OpenStruct)
         | 
| 118 | 
            +
                )
         | 
| 90 119 | 
             
                Ayadn::Settings.stub(:user_token).and_return('XYZ')
         | 
| 91 120 | 
             
                Ayadn::Settings.stub(:check_for_accounts)
         | 
| 92 121 | 
             
                Ayadn::Errors.stub(:warn).and_return("warned")
         | 
    
        data/spec/unit/post_spec.rb
    CHANGED
    
    | @@ -5,32 +5,91 @@ require 'json' | |
| 5 5 |  | 
| 6 6 | 
             
            describe Ayadn::Post do
         | 
| 7 7 | 
             
              before do
         | 
| 8 | 
            -
                Ayadn::Settings.stub(:options).and_return( | 
| 8 | 
            +
                Ayadn::Settings.stub(:options).and_return(
         | 
| 9 | 
            +
                  Ayadn::Preferences.new(
         | 
| 10 | 
            +
                  {
         | 
| 11 | 
            +
                    timeline: {
         | 
| 12 | 
            +
                      directed: true,
         | 
| 13 | 
            +
                      source: true,
         | 
| 14 | 
            +
                      symbols: true,
         | 
| 15 | 
            +
                      name: true,
         | 
| 16 | 
            +
                      date: true,
         | 
| 17 | 
            +
                      debug: false,
         | 
| 18 | 
            +
                      compact: false
         | 
| 19 | 
            +
                    },
         | 
| 20 | 
            +
                    marker: {
         | 
| 21 | 
            +
                      messages: true
         | 
| 22 | 
            +
                    },
         | 
| 23 | 
            +
                    counts: {
         | 
| 24 | 
            +
                      default: 50,
         | 
| 25 | 
            +
                      unified: 50,
         | 
| 26 | 
            +
                      global: 50,
         | 
| 27 | 
            +
                      checkins: 50,
         | 
| 28 | 
            +
                      conversations: 50,
         | 
| 29 | 
            +
                      photos: 50,
         | 
| 30 | 
            +
                      trending: 50,
         | 
| 31 | 
            +
                      mentions: 50,
         | 
| 32 | 
            +
                      convo: 50,
         | 
| 33 | 
            +
                      posts: 50,
         | 
| 34 | 
            +
                      messages: 20,
         | 
| 35 | 
            +
                      search: 200,
         | 
| 36 | 
            +
                      whoreposted: 20,
         | 
| 37 | 
            +
                      whostarred: 20,
         | 
| 38 | 
            +
                      whatstarred: 100,
         | 
| 39 | 
            +
                      files: 50
         | 
| 40 | 
            +
                    },
         | 
| 41 | 
            +
                    formats: {
         | 
| 42 | 
            +
                      table: {
         | 
| 43 | 
            +
                        width: 75,
         | 
| 44 | 
            +
                        borders: true
         | 
| 45 | 
            +
                      },
         | 
| 46 | 
            +
                      list: {
         | 
| 47 | 
            +
                        reverse: true
         | 
| 48 | 
            +
                      }
         | 
| 49 | 
            +
                    },
         | 
| 50 | 
            +
                    channels: {
         | 
| 51 | 
            +
                      links: true
         | 
| 52 | 
            +
                    },
         | 
| 9 53 | 
             
                    colors: {
         | 
| 54 | 
            +
                      id: :blue,
         | 
| 55 | 
            +
                      index: :red,
         | 
| 56 | 
            +
                      username: :green,
         | 
| 57 | 
            +
                      name: :magenta,
         | 
| 58 | 
            +
                      date: :cyan,
         | 
| 59 | 
            +
                      link: :yellow,
         | 
| 60 | 
            +
                      dots: :blue,
         | 
| 10 61 | 
             
                      hashtags: :cyan,
         | 
| 11 62 | 
             
                      mentions: :red,
         | 
| 12 | 
            -
                       | 
| 13 | 
            -
                      id: :blue,
         | 
| 14 | 
            -
                      name: :yellow,
         | 
| 15 | 
            -
                      source: :blue,
         | 
| 63 | 
            +
                      source: :cyan,
         | 
| 16 64 | 
             
                      symbols: :green,
         | 
| 17 | 
            -
                       | 
| 18 | 
            -
                       | 
| 19 | 
            -
                      link: :magenta,
         | 
| 65 | 
            +
                      unread: :cyan,
         | 
| 66 | 
            +
                      debug: :red,
         | 
| 20 67 | 
             
                      excerpt: :green
         | 
| 21 68 | 
             
                    },
         | 
| 22 | 
            -
                     | 
| 23 | 
            -
                       | 
| 24 | 
            -
                       | 
| 25 | 
            -
                       | 
| 26 | 
            -
                      source: true
         | 
| 69 | 
            +
                    backup: {
         | 
| 70 | 
            +
                      posts: false,
         | 
| 71 | 
            +
                      messages: false,
         | 
| 72 | 
            +
                      lists: false
         | 
| 27 73 | 
             
                    },
         | 
| 28 | 
            -
                     | 
| 29 | 
            -
             | 
| 30 | 
            -
                       | 
| 74 | 
            +
                    scroll: {
         | 
| 75 | 
            +
                      spinner: true,
         | 
| 76 | 
            +
                      timer: 3,
         | 
| 77 | 
            +
                      date: false
         | 
| 78 | 
            +
                    },
         | 
| 79 | 
            +
                    nicerank: {
         | 
| 80 | 
            +
                      threshold: 2.1,
         | 
| 81 | 
            +
                      filter: true,
         | 
| 82 | 
            +
                      unranked: false
         | 
| 83 | 
            +
                    },
         | 
| 84 | 
            +
                    nowplaying: {},
         | 
| 85 | 
            +
                    blacklist: {
         | 
| 86 | 
            +
                      active: true
         | 
| 31 87 | 
             
                    }
         | 
| 32 | 
            -
                  })
         | 
| 33 | 
            -
                 | 
| 88 | 
            +
                  }))
         | 
| 89 | 
            +
                require 'json'
         | 
| 90 | 
            +
                require 'ostruct'
         | 
| 91 | 
            +
                obj =
         | 
| 92 | 
            +
                  {
         | 
| 34 93 | 
             
                    identity: {
         | 
| 35 94 | 
             
                      username: 'test',
         | 
| 36 95 | 
             
                      handle: '@test'
         | 
| @@ -38,10 +97,24 @@ describe Ayadn::Post do | |
| 38 97 | 
             
                    post_max_length: 256,
         | 
| 39 98 | 
             
                    message_max_length: 2048,
         | 
| 40 99 | 
             
                    version: 'wee',
         | 
| 100 | 
            +
                    paths: {
         | 
| 101 | 
            +
                      db: 'spec/mock/',
         | 
| 102 | 
            +
                      log: 'spec/mock'
         | 
| 103 | 
            +
                    },
         | 
| 104 | 
            +
                    platform: 'shoes',
         | 
| 41 105 | 
             
                    ruby: '0',
         | 
| 42 | 
            -
                    locale: 'gibberish' | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 106 | 
            +
                    locale: 'gibberish'
         | 
| 107 | 
            +
                  }
         | 
| 108 | 
            +
                Ayadn::Settings.stub(:config).and_return(
         | 
| 109 | 
            +
                  JSON.parse(obj.to_json, object_class: OpenStruct)
         | 
| 110 | 
            +
                )
         | 
| 111 | 
            +
                global_hash = {
         | 
| 112 | 
            +
                  scrolling: false,
         | 
| 113 | 
            +
                  force: false
         | 
| 114 | 
            +
                }
         | 
| 115 | 
            +
                Ayadn::Settings.stub(:global).and_return(
         | 
| 116 | 
            +
                  JSON.parse(global_hash.to_json, object_class: OpenStruct)
         | 
| 117 | 
            +
                )
         | 
| 45 118 | 
             
                Ayadn::Settings.stub(:user_token).and_return('XYZ')
         | 
| 46 119 | 
             
                Ayadn::Settings.stub(:check_for_accounts)
         | 
| 47 120 | 
             
                Ayadn::Errors.stub(:warn).and_return("warned")
         |