require "slack"
Slack.configure do |config|
config.token = "YOUR_TOKEN"
endSlack.auth_test
コンソールでこれをそのまま実行すると、認証に成功しようが失敗しようが特に何も表示されません。
p なり何なりで Slack.auth_test の返り値を見てみると、認証に成功した場合はURLなどが、失敗した場合はエラーの内容がhashで返ってきます。 基本的にはSlack Web API https://api.slack.com/web のそのままです。slack-apiはトークンまわりやJSONのparseをしてくれるだけで、このあたりは自力です。DIYです。
class MainActivity : AppCompatActivity() {
lateinit var mRealm: Realm
lateinit var mRecyclerView: RecyclerView
lateinit var mAdapter: RecyclerViewAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.layout_recycler_view)
// Realmのセットアップ
val realmConfig = RealmConfiguration.Builder(baseContext)
.deleteRealmIfMigrationNeeded()
.build()
mRealm = Realm.getInstance(realmConfig)
// Realmを読み込み
val dateList: RealmResults<CurrentTimeModel> = mRealm.where(CurrentTimeModel::class.java).findAll()
// RecyclerViewのセットアップ
mRecyclerView = findViewById(R.id.recycler_view) as RecyclerView
mAdapter = RecyclerViewAdapter(dateList)
val layoutManager = LinearLayoutManager(applicationContext)
mRecyclerView.layoutManager = layoutManager
mRecyclerView.itemAnimator = DefaultItemAnimator()
mRecyclerView.adapter = mAdapter
mRecyclerView.addItemDecoration(DividerItemDecoration(this))
// ボタンのセットアップ
val fabAddCurrentDateTime = findViewById(R.id.fab_add_current_date_time)
fabAddCurrentDateTime.setOnClickListener { addCurrentDateTime() }
val fabDeleteAllRecords = findViewById(R.id.fab_delete_all_records)
fabDeleteAllRecords.setOnClickListener { deleteAllRecords() }
}
override fun onDestroy() {
super.onDestroy()
mRealm.close()
}
fun addCurrentDateTime() {
mRealm.executeTransaction {
val currentDateTime = mRealm.createObject(CurrentTimeModel::class.java)
// LocalDateTime.now()がMIN_APIで使えないので、KotlinMomentを使用
currentDateTime.currentTime = Moment().toString()
mRealm.copyToRealm(currentDateTime)
}
mAdapter.notifyDataSetChanged()
}
fun deleteAllRecords() {
mRealm.executeTransaction {
mRealm.where(CurrentTimeModel::class.java)
.findAll()
.deleteAllFromRealm()
}
mAdapter.notifyDataSetChanged()
}
}
Model
open class CurrentTimeModel(
open var currentTime: String = ""
): RealmObject() {}
エラーが出る
Realmを使っていて、エラーが出て詰まる場面が2つありました。 1. 新しくモデルクラスを追加したときに、class com.list_sample.realmkotlinsample.FooModel is not part of the schema for this Realm. というエラーが出る 2. 既に使っているモデルクラスをリネームしたり、パッケージ移動したりすると `Error:Execution failed for task ‘:app:transformClassesWithRealmTransformerForDebug’.
SFよりも現実よりなお話をしたつもりですが、当記事はワープや0秒通勤が実現可能だと担保する物ではありません。また、繰り返しになりますが、イメージだけでもお伝えするために、事実にフィクションを織り交ぜた説明を行っております。「ホンマでっか!?」的な姿勢で読んでいただけたら幸いです。 *参考文献* 「Echoes from the Abyss: Evidence for Planck-scale structure at black hole horizons」Jahed Abedi, Hannah Dykaar, Niayesh Afshordi
'---------------------------------
' リクエスト
'---------------------------------
Dim objHTTP As Object
Set objHTTP = CreateObject("msxml2.xmlhttp")
objHTTP.Open "POST", "http://localhost:8080", False
objHTTP.setRequestHeader "Content-Type", "text/plain"
objHTTP.send JsonConverter.ConvertToJson(JsonObject)
' レスポンスコード(正常)
If objHTTP.status = 200 Then
MsgBox "正常に終了しました"
End If
History API で戻った場合でも turbolinks.load で呼ばれるようになりました。 そのため、二重に表示されることがあります。 戻るボタン押下時にはキャッシュを使って表示しますので、turbolinks:before-cache イベントを使って不要なDOMのクリアなどを行う必要があります。
class TransactionTable < ActiveRecord::Base
class << self
def truncate
connection.execute "TRUNCATE TABLE #{table_name};"
end
end
end
モデルには記載しないでトランザクションデータだけ削除するスクリプトを作っておくと安全かも
TRANSACTION_TABLES=TransactionTable, NotMasterTable
def clear_transaction
TRANSACTION_TABLES.each do |transaction_model|
ActiveRecord.execute "TRUNCATE TABLE #{transaction_model.table_name};"
end
end