Class: Nicos::Mylist
- Inherits:
-
Object
- Object
- Nicos::Mylist
- Includes:
- Connector::SetWait
- Defined in:
- lib/classes/mylist.rb
Instance Attribute Summary collapse
-
#author ⇒ String
作成者の名前.
-
#available ⇒ Boolean
このインスタンスがgetInfo等によって正常に情報を取得できている場合、trueとなる。 各種メソッドの実行には、これがtrueであることが要求される。.
-
#create_time ⇒ Fixnum
マイリスト作成日時.
-
#default_sort ⇒ Fixnum
ソート順の設定.
-
#description ⇒ String
マイリストの説明文.
-
#icon_id ⇒ Fixnum
アイコンの色?.
-
#movies ⇒ Array<Movie>
マイリストが含む動画インスタンスの配列.
-
#mylist_id ⇒ Fixnum
マイリストID.
-
#public ⇒ Fixnum
公開設定.
-
#sort_order ⇒ Fixnum
現在のソート順.
-
#title ⇒ String
マイリストのタイトル.
-
#update_time ⇒ Fixnum
マイリストの更新日時.
-
#user_id ⇒ Fixnum
ユーザID.
Instance Method Summary collapse
- #getHtmlInfo ⇒ Object
-
#getInfo ⇒ Fixnum
マイリストのAtomフィードから、マイリストとそれに含まれる動画の情報を取得する。.
-
#getSimilarity ⇒ Fixnum
自分に含まれている動画のタイトルをすべての組み合わせにおいて比較し、 類似度の平均を返す。.
-
#initialize(mylist_id) ⇒ Mylist
constructor
A new instance of Mylist.
-
#set(paramObj) ⇒ Object
Nicos::Movie#set を参照。.
Methods included from Connector::SetWait
Constructor Details
#initialize(mylist_id) ⇒ Mylist
Returns a new instance of Mylist.
14 15 16 17 18 |
# File 'lib/classes/mylist.rb', line 14 def initialize (mylist_id) @mylist_id = mylist_id @movies = [] @available = false end |
Instance Attribute Details
#author ⇒ String
作成者の名前
取得可能なメソッド Mylist::getInfo
267 268 269 |
# File 'lib/classes/mylist.rb', line 267 def @author end |
#available ⇒ Boolean
このインスタンスがgetInfo等によって正常に情報を取得できている場合、trueとなる。 各種メソッドの実行には、これがtrueであることが要求される。
179 180 181 |
# File 'lib/classes/mylist.rb', line 179 def available @available end |
#create_time ⇒ Fixnum
236 237 238 |
# File 'lib/classes/mylist.rb', line 236 def create_time @create_time end |
#default_sort ⇒ Fixnum
228 229 230 |
# File 'lib/classes/mylist.rb', line 228 def default_sort @default_sort end |
#description ⇒ String
210 211 212 |
# File 'lib/classes/mylist.rb', line 210 def description @description end |
#icon_id ⇒ Fixnum
252 253 254 |
# File 'lib/classes/mylist.rb', line 252 def icon_id @icon_id end |
#movies ⇒ Array<Movie>
マイリストが含む動画インスタンスの配列
getInfo等のメソッドを利用した際に、そのマイリストが含む動画の インスタンスが配列として自動的に作られ、moviesに収められる。
274 275 276 |
# File 'lib/classes/mylist.rb', line 274 def movies @movies end |
#mylist_id ⇒ Fixnum
187 188 189 |
# File 'lib/classes/mylist.rb', line 187 def mylist_id @mylist_id end |
#public ⇒ Fixnum
219 220 221 |
# File 'lib/classes/mylist.rb', line 219 def public @public end |
#sort_order ⇒ Fixnum
260 261 262 |
# File 'lib/classes/mylist.rb', line 260 def sort_order @sort_order end |
#title ⇒ String
202 203 204 |
# File 'lib/classes/mylist.rb', line 202 def title @title end |
#update_time ⇒ Fixnum
244 245 246 |
# File 'lib/classes/mylist.rb', line 244 def update_time @update_time end |
#user_id ⇒ Fixnum
ユーザID
取得可能なメソッド Mylist::getHtmlInfo
194 195 196 |
# File 'lib/classes/mylist.rb', line 194 def user_id @user_id end |
Instance Method Details
#getHtmlInfo ⇒ Object
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/classes/mylist.rb', line 134 def getHtmlInfo @available = false res = connect( Nicos::Connector::MylistHtml.new(), :html ) parsed = parse(res[:result]) do |result| Nicos::Parser::Html::mylist(result[:body]) end { :parsed => parsed, :status => res[:status][:status], :retry => res[:status][:retry] } end |
#getInfo ⇒ Fixnum
マイリストのAtomフィードから、マイリストとそれに含まれる動画の情報を取得する。
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/classes/mylist.rb', line 117 def getInfo @available = false res = connect( Nicos::Connector::MylistAtom.new(), :atom ) parsed = parse(res[:result]) do |result| Nicos::Parser::Xml::mylistAtom(result[:body]) end { :parsed => parsed, :status => res[:status][:status], :retry => res[:status][:retry] } end |
#getSimilarity ⇒ Fixnum
自分に含まれている動画のタイトルをすべての組み合わせにおいて比較し、 類似度の平均を返す。
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/classes/mylist.rb', line 74 def getSimilarity l = @movies.length - 1 sim = 0.0 simAry = [] count_o = 0 count_i = 0 @movies.each do |movie| puts "\s" + movie.title end if @movies.length >= 2 while count_o <= l do count_i = count_o + 1 while count_i <= l do simAry.push( sim( @movies[count_i].title, @movies[count_o].title, 3 ) ) count_i += 1 end count_o += 1 end t = 0 simAry.each { |_sim| t += _sim } similarity = t / simAry.length elsif @movies.length == 1 similarity = 1 else similarity = 0 end p similarity ( similarity * 100 ).round / 100.0 end |
#set(paramObj) ⇒ Object
Nicos::Movie#set を参照。
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 |
# File 'lib/classes/mylist.rb', line 152 def set(paramObj) paramObj.each_key do |key| param = paramObj[key] case key when "mylist_id", :mylist_id then @mylist_id = param.to_i when "user_id", :user_id then @user_id = param.to_i when "title", :title then @title = param when "description",:description then @description = param when "public", :public then @public = param.to_i when "default_sort",:default_sort then @default_sort = param.to_i when "create_time",:create_time then @create_time = param.to_i when "update_time",:update_time then @update_time = param.to_i when "icon_id", :icon_id then @icon_id = param.to_i when "sort_order", :sort_order then @sort_order = param.to_i when "movies", :movies then @movies = param when "updated", :updated then @update_time = param when "author", :author then @author = param end end end |